十:封装

封装概括

1为什么要封装

把内部内容封装起来不让外人轻易看到 将成员属性的修饰符设置为私有的 不让属性可以直接在外部访问到 通过设置方法来内部直接操作属性

2如何封装
修饰符本类本包其他包子类其他包非子类
private×××
缺省××
protected×
public

private 私有的 只能自己使用 缺 省 不填写任何的修饰符 只要在同一个软件包底下都可以使用 protected 受保护的 使用其他软件包底下的类也可以用 public 公共的 在同一个项目中都可以使用

成员变量/属性私有化问题

成员变量(field)私有化之后,提供标准的get/set方法,我们把这种成员变量也称为属性(property)

使用private修饰成员变量

private 数据类型 变量名 ;
public class Person {
    private String name;
    private int age;
    private boolean marry;
​
    public void setName(String n) {
        name = n;
    }
​
    public String getName() {
        return name;
    }
​
    public void setAge(int a) {
        age = a;
    }
​
    public int getAge() {
        return age;
    }
    
    public void setMarry(boolean m){
        marry = m;
    }
    
    public boolean isMarry(){
        return marry;
    }
}

IDEA自动生成get/set方法模板

IDEA自动生成get/set方法模板

大部分键盘模式按Alt + Insert键。

部分键盘模式需要按Alt + Insert + Fn键。

2继承

1继承的概括

        1.只可以继承自己的父辈或者再向上的亲属 2.并不是所有的东西都可以继承 3.继承也可以有自己的东西 4.继承只允许单继承(每次只能继承一个类)

好处

        提高代码的复用性

        提高代码的扩展性

2继承语法

        通过 extends 关键字,可以声明一个子类继承另外一个父类,

        【修饰符】 class 父类 {
            ...
        }
​
        【修饰符】 class 子类 extends 父类 {
            ...
        }

3继承的特点

        1.子类会继承父类所有的实例变量和实例方法

        2.Java只支持单继承,不支持多重继承

        3.Java支持多层继承(继承体系)

        4.一个父类可以同时拥有多个子类

4 IDEA中如何查看继承关系

        选择A类名,按Ctrl + H就会显示A类的继承树。

1.外部类要跨包使用必须是public,否则仅限于本包使用

        (1)外部类的权限修饰符如果缺省,本包使用没问题

        (2)外部类的权限修饰符如果缺省,跨包使用有问题

2、成员的权限修饰符问题

        (1)本包下使用:成员的权限修饰符可以是public、protected、缺省

3、父类成员变量私有化(private)

子类虽会继承父类私有(private)的成员变量,但子类不能对继承的私有成员变量直接进行访问,可通过继承的get/set方法进行访问

5 方法重写(Override)

方法重载

重载名字相同但是参数不同 重写名字相同 参数相同 返回值相同 一模一样

        1.必须保证父子类之间重写方法的名称相同。

        2.必须保证父子类之间重写方法的参数列表也完全相同。public > protected > 缺省 > private

        3.子类方法的返回值类型必须【小于等于】父类方法的返回值类型

        4.子类方法的权限必须【大于等于】父类方法的权限修饰符

        @override 重写方法的注解

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐