目录
为什么要使用继承?
关键字super
1.super关键字
在对象的内部使用,可以代表父类对象
①访问父类的属性:super.age
②访问父类的方法:super.show()
2.super()的使用
子类的构造的过程当中必须调用其父类的构造方法。
注意事项:
①如果子类的构造方法中没有显示调用父类的构造方法,则系统默认调用父类无参的构造方法。
②如果显示的调用构造方法,必须在子类的构造方法的第一行。
③如果子类构造方法中既没有显示调用父类的构造方法,而父类又没有无参的构造方法,则编译出错。
关键字super的使用:
不能继承的父类成员
private成员
子类与父类不在同包,使用默认访问权限的成员
构造方法
继承后的初始化顺序
何时使用继承?
Object类
1.Object类是所有类的父类,如果一个类没有使用extends关键字明确标识继承继承另外一个类,那么这个类默认继承Object。
2.Object类中的方法,适合所有子类
3.toString()方法
在Object类里面定义toString()方法的时候返回的对象的哈希code吗(对象地址字符串)---类似人的身份证号码
【解决】可以通过重写toString()方法表示出对象的属性
方法的重写:
1.什么是方法的重写
如果子类对继承父类的方法不满意,是可以重写父类继承的方法的,当调用方法时会优先调用子类的方法。
2.语法规则:
①返回值类型
②方法名
③参数类型及个数
都要与父类继承的方法相同,才叫方法的重写。
如果子类与父类有相同签名的方法:子类重写父类方法
继承中的构造方法:
抽象类
抽象类限制实例化:
public abstract class Pet { }
不能:
Pet pet = new Pet ("贝贝",20,40);