Java允许类之间的继承关系
目的:实现代码的重用,避免代码的重复
形式:通过extends关键字来实现继承
class Son extends Father{}
子类 父类
其中父类包括所有子类所共有的属性和方法
子类除了父类能继承的成员,还包括自己特有的属性和方法
特点:单一继承,一个类只能继承一个父类,但一个父类可以有多个子类
特性:传递性,父传子,子传孙...
注意:创建子类对象时,构造子类之前必须先构造父类
即,在子类的构造方法中存在默认的super()来调用父类构造
若不写super()方法,则编译器自动添加一个super()
若写了,则编译器不再添加,这时若有重载的构造方法也需要自己写
super和this
super:指代当前对象的父类对象
用法:super.成员变量名----访问父类成员方法
super.方法名()--------调用父类方法
super()------------------调用构造方法
this:指代当前对象
用法:this.成员变量名-----访问成员变量
this.方法名()-------调用方法
this()--------------调用构造方法
当内部实现细节改变时,只要保证对外的功能定义不变,则其他模块代码便无需更改注意:super和this在一个方法中不能共存
方法和类的主要作用就是封装一段代码,降低代码出错的可能性,便于维护
public class A {
public A(int i){
}
}
class B extends A {
public B(){
// super();//这时默认没有,父类没有无参构造,须自己写
super(1);//调用父类有参构造
}
}