1,什么是继承:
2,继承的 格式:
public class 子类名 extends 父类名 { }
public class Zi extends Fu{
}
3,继承的 特点:
- 类是单继承,一个子类只能继承一个父类;
- 可以进行多重继承,子类继承父类,父类继承爷类;
接口是多继承,一个接口可以继承多个接口;
//接口的多继承格式:
//接口Tab继承接口Usb
public interface Tab extends Usb{
void setCon();
}
4,继承的 优点:
减少代码的啰嗦/long余,提高代码的复用性;
- 提高代码的维护性;
-
5,继承的 弊端(缺点):
耦合性:
当父类的内容发生改变时,子类也会跟着进行变化,削弱了子类的独立性。6,继承中,子类不可继承的内容:
在子类中,不能使用父类的构造器;
在子类中,不能直接调用父类中被private修饰的变量或方法,只能使用getter和setter方法去进行间接赋值调用;
7,继承中,成员变量,成员方法的访问特点:(就近原则)优先使用子类的成员
子类中,先找子类 局部变量/方法;
- 子类中,先找子类 成员变量/方法;
-
8,继承中,构造方法(器)的访问特点:
子类中的所有构造方法默认都会先访问父类中的无参的构造方法,再去执行自己的。
- (满参数的同理,但,满参数的是:父类子类的无参执行完再去执行满参的)
原因:子类初始化之前,一定会先完成父类的数据初始化,即优先调用父类的无参构造方法
- 注意:子类不能继承父类的构造器;(因为构造器的格式原因)
调用父类构造器,用 super关键字;
//super调用父类的带参构造器;
public Zi(int a){
super(int a);
}
9,继承中的标准类格式:
在子类中和一般类一样要提供一个无参和一个满参构造器;但是,这两个构造器是指向父类的构造器(继承标准类格式),然后,才根据需要设置子类自己的构造器:(如)
//子类
public class Zi{
//假设定义变量a
private int a;
//指向父类的无参构造器
public Zi(){
super();//此处一般由编辑器自动生成;
}
//指向父类的满参构造器
public Zi(int a){
super(int a);
}
}