Java继承学习笔记

1.子类对象初始化

对象的初始化通过调用构造方法来实现

子类对象的初始化既包括自身成员变量的初始化,也包括所继承的父类的成员变量的初始化

定义构造方法时,用this调用本类的其他构造方法,用super调用父类的构造方法

子类的构造方法中,默认会隐含父类的无参构造方法(即系统自动加入super)

2.子类和父类对象之间的转换

子类对象可以直接赋值给父类对象,而父类对象赋值给子类对象需要进行强制类型转换

3.子类不能直接访问父类中的私有成员,只能通过访问父类中的非私有成员方法来实现

4.变量覆盖:子类中定义了同名变量(可不同类型),若访问父类方法,则方法中调用的仍是隐藏掉的那个变量。

                       若需直接饮用父类中的变量,可用“super.变量”实现

5.方法覆盖:同变量覆盖。默认调用自身的方法,用super.方法 调用父类方法。以此实现"运行时多态(父类与子类对象转换+方法覆盖)"

方法覆盖-》运行时根据覆盖情况进行选择

方法重载(同名不同参)-》编译时进行


你可能感兴趣的:(Java继承学习笔记)