一、 继承
Java中子类继承了父类的私有属性及方法吗?_子类能继承父类的私有属性吗_shadow_zed的博客-CSDN博客
子类可以继承父类的所有非静态(unstatic)属性和非静态方法,包括所有私有和公用的
java官方文档表示子类不能继承父类私有的属性和方法
子类对象确实拥有父类对象中所有的属性和方法,但是父类对象中的私有属性和方法,子类是无法访问到的,只是拥有,但不能使用。就像有些东西你可能拥有,但是你并不能使用。
子类对象可以通过get和set间接访问父类私有属性。
二、访问修饰符
1.访问权限范围: public> protected > default > private
2.同包子类权限等同于同包类
3.protected 修饰的方法是指子类对象 可以访问 父类的 成员属性
其他包中 创造的父类对象无法访问父类成员属性
bird 类不能用 private 修饰的原因
为什么类访问修饰符不能用private、protected_ue中private不能用_a sleeping coder的博客-CSDN博客
所以bird类放在Pet当中就可以用private protected
bird类放在public修饰的主类Pet外的话,就只能用 default 、 public
三、方法的重写
方法重写的定义
遵循原则
子类返回值类型是父类或者父类的返回值类型的子类类型
@override的作用
四、super关键字
子类的构造方法默认调用父类的无参构造方法
隐藏了super();
父类更改构造方法,子类需要重新定义super();
super可以调用父类的非静态方法 属性
super必须在构造第一行,所以与this不能同时出现