继承
理解为(共性的抽出来在父类里,非共性的单独在子类里)
子类与父类是 is-a的关系
一.继承的作用
![](F:\新建文件夹\截图\截图\Image 002.png)
二.如何使用继承
继承是java中实现代码重用的重要手段之一。java中只支持单根继承,即一个类只能有一个直接父类
编写父类:
[访问修饰符]class Pet{
//公共的属性和方法
}
编写子类继承父类
[访问修饰符]class Dog extends Pet{
//子类特有的属性和方法
}
之类只能继承父类的非私有成员,不能继承构造方法,如果不同包也不能继承默认访问修饰符。
并且记住如果不同包,那么只能在子类里访问父类的受保护成员
三.super关键字
1)使用super关键字,super代表父类对象,只能出现在子类的方法和构造方法中。
2)在子类构造方法中条用且必须是第一句
3)不可以访问父类中定义为private的属性和方法
子类访问父类成员
(1)访问父类的构造方法
super();
super(name);
(2)访问父类属性
super.name;
(3)访问父类方法
super.print()
继承条件下构造方法的调用规则如下:
1)如果子类的构造方法中没有通过super显示调用父类的有参构造方法,也没有通过this显示调用自身的其他构造方法,则系统会默认调用父类的无参构造方法。在这种情况下,写不写“super();”语句,效果是一样的。
2)如果子类的构造方法中通过super显示调用父类的有参构造方法,那将执行父类相应构造方法,而不再执行父类无参构造方法
3)如果子类的构造方法中通过this显示调用自身的其他构造方法,在相应的构造方法中应用以上两条规则
4)特别注意的是,如果存在多级继承关系,在创建一个子类对象时,以上规则会多次向更高一级父类应用,一直执行顶级父类Object类的无参构造方法为止。