继承
继承的概念:
继承是类与类的一种关系,是一种“is a”的关系
注:Java中的继承是单继承
3. 继承的好处:
子类拥有父类所有的属性和方法(private无效)
实现代码的复用
语法规则:
Class子类extends父类
例:class Dog extends Animal{
……
}
1. 创建一个父类
2. 创建一个子类,在superclas出点击browse选择父类:
最后创建一个test类来测试继承是否成功
如图所示,实现了上述功能。
Java中方法重写
什么是方法的重写:
如果子类对继承父类的方法不满意,是可以重写父类继承的方法的,当调用方法是会优先调用子类的方法。
语法规则:
a. 返回值的类型
b. 方法名
c. 参数类型及个数
都要与父类继承的方法相同,才叫方法的重写。
继承的初始化顺序
1. 初始化父类再初始化子类
2. 先执行初始化对象中属性,再执行构造方法中的初始化
如图所示,属性中赋值为10,再构造方法中赋值为20运行程序后的输出为:20
总结:父类的属性初始化—父类的构造方法初始化---子类的属性初始化---子类的构造方法初始化。
Final关键字
使用final关键字有最终的含义。
Final可以修饰类,方法,属性和变量
Final修饰类,则类不允许被继承
Final修饰方法,则该方法不允许被覆盖(重写)
Final修饰属性
则该类的属性不会进行隐式的舒适化(类的初始化属性必须有值)或再构造方法中赋值(但只能选其一)
Final修饰变量,则该变量的值只能赋一次值,即变为常量。
Final修饰类,则类不允许被继承
在父类面前加上final则子类不能被继承了,如图所示
将父类final以后,子类不允许覆盖方法。
给属性final后值只能赋一次
如果我们不给final干关键字属性赋值的话,系统也不会默认指定一个值,就会报错