1.类的继承:
每个类只能有一个直接父类,每个子类继承父类的成员变量和成员方法,同时可以修改父类的成员变量或重写父类的方法,还可以添加新成员变量或成员方法
好处:
①避免了代码冗余,提高了代码的复用性
②便于功能的拓展
③为多态性提供了前提
2.extends关键字:
在定义类时若使用extends关键字指出新定义类的父类,就是在两个类之间建立了继承关系。(先调用父类再调用子类)通俗地来讲,extends相当于财产转移合同,只有签订了合同,子类才能继承父类的财产,也就是成员变量和成员方法,同时子类可以对继承的财产进行修改或重写,也可以获得更多的财产。
格式:
class Students(子类) extends Person(父类){
}
如果没有extends关键字,则该类默认为java.lang.Object类的子类。
3.super():
由于子类不能继承父类的构造方法,因此,如果要调用父类的构造方法,可以使用 super 关键字。super 可以用来访问父类的构造方法、普通方法和属性。
super(参数1,参数2,...,参数n);
子类利用super()方法将参数传递到父类的构造方法中,当此子类被调用时,对应父类也会被调用
注:调用父类构造方法的super()语句必须写在子类构造方法的第一行,否则将出错
如果一个类中没有写任何的构造方法,JVM 会生成一个默认的无参构造方法。在继承关系中,由于在子类的构造方法中,第一条语句默认为调用父类的无参构造方法(即默认为 super(),一般这行代码省略了)。所以当在父类中定义了有参构造方法,但是没有定义无参构造方法时,编译器会强制要求我们定义一个相同参数类型的构造方法
网友评论