java只支持单继承,不支持多继承。
当方法被重写了,子父类中出现了同名的成员变量时,在子类中需要访问父类中非私有成员变量时,需要使用 super
关键字,至于修饰父类成员变量,类似于之前学过的 this
。 使用格式 super.父类成员变量名
如果父类是private修饰,则子类访问不到。但可以通过访问方法得到
1、方法名相同返回值类型、参数列表却不相同(优先在子类查找,没找到就去父类)
2、方法名、返回值类型、参数列表都相同,没错这就是重写(Override
)
方法重写是,父类是public,子类是private报错。父类是private,子类是public就不会。
所以子类的初始化过程中,必须先执行父类的初始化动作。子类的构造方法中默认会在第一句代码中添加super()
,表示调用父类的构造方法,父类成员变量初始化后,才可以给子类使用。
super()和this()不能同时使用。
2.多态
Java中多态的实现方式:接口实现,继承父类进行方法重写,同一个类中进行方法重载