继承特点:

java只支持类的单继承,但是支持多层(重)继承

java支持接口的多继承,语法为:接口A extends 接口B ,接口C,接口D...

只能继承父类的非私有成员(成员变量,成员方法)

构造方法不能被继承 构造方法被用来初始化本类对象

创建子类对象时需要调用父类构造初始化该对象的父类内容,若父类构造可以被继承,该操作会造成调用的混乱。

 

 

创建子类对象时优先调用父类构造方法。

子类构造方法的第一行,隐含语句super();(初始化父类成员),用于调用父类默认无参构造。

若父类没有无参构造,可以通过super(参数)的形式访问父类的带参构造。

 

方法重写:

子类中出现和父类方法定义相同的方法的现象

也叫方法的复写,覆盖。方法名,参数列表返回值类型都相同。

注意事项:

父类私有方法无法重写。

子类方法访问权限不能小于父类方法。

子类不能比父类方法抛出更大的异常。

使用场景

扩展父类功能。父类功能过时重新实现父类功能。

 

 

 

private:强调的是给自己使用

默认:给同包下的来使用

protected:强调的是给子类(不管是否在同一包下)使用

public:强调的是给大家使用

 

 

方法重写与方法重载的区别:

 

 

方法重写要求子类方法的访问权限 不低于父类方法的访问权限

 

方法重载:同一个类中出现两个或两个以上的同名方法时,而这些方法的参数列表不同,就称为方法重载

方法重写:子类和父类出现一模一样的方法时就称为方法重写