一、继承
1.Java中的继承是一种机制,表示的是一个类继承父类的所有属性与方法。
2.面向对象的编程允许从已经存在的类中定义新的类,这就是继承。
父类和子类
继承使得可以定义一个通用的类就是父类,扩充该类为一个更加特定的类就是子类。
语法:
修饰符 class 子类名称 extends 父类名称
关于继承应该注意的地方:
- 子类并不是父类的一个子集,一个子类通常比它的父类包含更多的信息。
- 父类中的私有数据域在该类之外是不可访问的。
- 一个Java类只可能直接继承一个父类,因为在Java中类的继承是单一继承。
二、super关键字
定义:super关键字指代父类,可以用于调用父类中的普通方法和构造方法。
super关键字可以调用父类的变量、父类的构造方法与父类的方法。
warning
1.要调用父类的构造方法就必须使用super关键字,不能在子类中使用父类构造方法名来调用父类构造方法,而且这个调用必须是构造方法的第一条语句。
2.在子类中调用父类的构造方法的名字会引起一个语法错误,调用父类的构造方法的唯一途径是使用 super 关键字。
3.在static方法中不能使用super关键字。
三、重写&重载
重载:(overload) 是在一个类里面,方法名相同,参数不同。返回类型可以相同也可以不同。
重写:(override)是子类对父类允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。
区别
1.方法重写发生在通过继承而相关的不同类中。方法重载可以发生在一个类中,也可以发生在由于继承而相关的不同类中。
2.方法重写具有相同的参数和返回值类型。方法重载具有相同的方法名,但是不同的参数列表。
详细见表格