继承相关问题

继承相关问题

参考黑马程序员

继承中构造方法的访问特点

子类中所有的构造方法默认都会访问父类中无参的构造方法

为什么呢?

  • 因为子类会继承父类中的数据,可能还会调用父类的数据。所以,子类初始化之前,一定要先完成父类数据的初始化

  • 每一个子类构造方法的第一条默认语句都是super()

如果父类中没有无参构造方法,只有带参构造方法,该怎么办?

  • 通过使用super关键字去显示的调用父类的带参构造方法

  • 在父类中自己提供一个无参构造方法

推荐:自己给出无参构造方法



方法重写注意事项

  • 方法名和参数列表必须相同

  • 私有方法不能被重写(父类私有成员子类是不能继承的)

  • 子类方法访问权限不能更低(public>默认>私有)

  • Alt + Insert: @override



修饰符

修饰符同一个类中同一个包中子类、无关类不同包的子类不同包的无关类
private      
默认    
protected  
public


final

final关键字是最终的意思,可以修饰成员方法,成员变量,类

final修饰的特点

  • 修饰方法:表明该方法是最终方法,不能被重写

  • 修饰变量:表明该变量是常量,不能再次被赋值

  • 修饰类:表明该类是最终类,不能被继承

final修饰局部变量

  • 变量是基本类型:final修饰指的是基本类型的数据值不能发生改变

  • 变量是引用类型:final修饰指的是引用类型的地址值不能发生改变,但是地址里面的内容是可以发生改变的



static

static关键字是静态的意思,可以修饰成员方法,成员变量

static修饰的特点

  • 被类的所有对象共享

    这也是我们判断是否使用静态关键字的条件

  • 可以通过类名调用

    当然,也可以通过对象名调用

static访问特点

非静态的成员方法

  • 能访问静态的成员变量

  • 能访问非静态的成员变量

  • 能访问静态的成员方法

  • 能访问非静态的成员方法

静态的成员方法

  • 能访问静态的成员变量

  • 能访问静态的成员方法

总结成一句话就是:静态成员方法只能访问静态成员

posted @ 2021-03-13 09:49  i爱在西元前  阅读(71)  评论(0)    收藏  举报