Java随笔——继承
继承
继承的概念:
java中用extends关键字表示一个类继承另一个类,格式如下:
参数说明:
1.父类名是已经声明的类。
2.子类名是新生成的类。
3.extends说明要创建一个新类,该类从已存在的类中继承得到,已经存在的类统称为父类,又叫基类;新类叫子类,或者派生类。
子类继承父类的原则如下:
子类不能继承父类中被声明为private的成员变量和成员方法,只能继承父类中被声明为public和protected的成员变量和成员方法。
子类可以定义一个与父类成员方法名相同的成员方法,子类中的新成员方法屏蔽父类的成员方法,即在子类中隐藏了与父类同名的成员方法,成员变量也类似。
子类不能继承父类的构造方法,因为构造方法必须与它所在的类名相同,父类和子类的名字不同,因此,子类和父类的构造方法也不会相同。
在子类中定义新的成员变量和成员方法,增加了子类从父类扩展的功能。
成员变量和成员方法的屏蔽:
如果子类中声明了与父类同名的成员变量和成员方法,那么在子类中,父类的成员变量和成员方法被隐藏,也就是说,在子类中屏蔽了父类的成员变量和成员方法,
子类仍然继承父类的成员变量和成员方法,但是这些同名的成员变量和成员方法不能直接被访问。
super关键字:
当子类的成员变量和成员方法与父类的成员变量和成员方法同名时,会隐藏父类的成员变量和成员方法,但有时还需要用被隐藏的父类的成员变量和成员方法,
这时需要借助Java中的super关键字来实现对父类成员的访问,有以下三种情况。
1)访问被隐藏的直接父类的同名成员变量,语法格式如下。
2)访问直接父类中被覆盖的同名方法,语法格式如下。
3)访问直接父类的构造方法,语法格式如下。
注意:如果在子类构造方法中调用su-per()语句,那么super
()语句必须是第一条语句,先初始化父类,再初始化子类。
this关键字:指向自己的引用。
implements关键字:
使用 implements 关键字可以变相的使java具有多继承的特性,使用范围为类继承接口的情况,可以同时继承多个接口(接口跟接口之间采用逗号分隔)。