1理解继承的概念
父类:被继承的类叫父类
子类:继承父类的类叫子类
(父类,子类是相对的。)
在继承中子类将获得父类的属性和方法,同时子类也可以定义自己的属性和方法。继承可以提高代码的重用性。
注意:在C++等编程语言中存在多继承,但是Java中没有多继承(A不能同时继承B,C),但是Java可以有多重继承。
2掌握继承的语法
◆语法:
class子类 extends 父类{
代码块;
}
◆案例一:
案例二:多重继承
如案例一 在开发中如果 Students继承Person 我们可以说 Students是个Person,
Students is a Person,Students和Person是 is-a的关系
3掌握方法重写(Override)
子类继承父类,子类能够获得父类的方法,但是有时候父类的方法不能满足子类的需求,此时可以在子类中重写父类的方法。
案例:
注意:1.重写时,子类中方法的访问控制符不能比父类更严格
2.如果父类的方法使用private修饰的,则在子类就不叫重写(因为子类根本就无法访问父类的该方法,所以不存在重写。)
4掌握super关键字
super:超级、父类
◆在子类中用super调用父类的属性。
◆在子类中用super调用父类的方法。
◆在子类中用super调用父类的构造方法。
案例一:
通过上面案例说明:
在继承中,调用子类构造方法创建对象时,其实首先会默认调用父类的构造方法创建一个父类对象(现有父类,再有子类)。(想要有儿子,先要有爸爸)
如果子类的构造方法中没有用super显示调用父类的构造方法,系统会默认调用父类无参的构造方法,如果子类的构造方法中使用super显示调用了父类的构造方法,则系统不再默认调用。
案例二:
案例三:对案例二的错误解决方案:
1. Father类中添加一个为空的构造方法。(一个类中,如果程序员自己定义了构造方法,则记得一定写一个为空的构造方法,这样继承时不会出错)
2. 在Son中显示调用父类的构造方法
5掌握final关键字
final:最终的,最后的。
◆final修饰的变量是常量,常量的值不可以改变
◆final修饰的方法不可以被重写。
◆final修饰的类不可以被继承。