一、继承(extends)
class 当前类名 extends 继承类名
1)作用:代码复用
2)超类/基类/父类:共有的属性和行为
派生类/子类:特有的属性和行为
派生类可以访问超类的和派生类的,但超类不能访问派生类的
补充:
1.泛化:从程序设计角度而言叫泛化,从代码实现角度叫继承,泛化就是继承
2.继承要符合is(是)的关系
3.继承的是父类的成员变量和普通发发,不包括父类的构造方法,父类的构造方法是被子类通过super()来调用的
3)特点:一个超类可以有多个派生类,但一个派生类只能由一个超类,称为单继承
继承具有传递性
二、super关键字
作用:指代当前对象的超类对象
用法:super.成员变量名:访问超类的成员变量
super.方法名():调用超类的方法
super():调用超类构造
java规定:构造派生类之前必须先构造超类
为了保证这个规则,java做了两种操作:
1)在派生类的构造方法中若没有调用超类的构造方法,则默认super()调用超类的无参构造方法(位于派生类构造方法的第一行)
2)在派生类的构造方法中若自己调用了超类的构造方法,则不在默认提供
三、方法的重写(overriding)
发生在父子类中,方法名相同,参数列表相同
四、final关键字
表示最终的、不可改变的
特点:
1、修饰变量:表示变量不能被改变
2、修饰方法:表示方法不能被重写
3、修饰类:表示类不能被继承
五、null