1、认识继承
继承——顾名思义,一个事物从另一个事物中得到东西,这两个事物的关系为子与父。
例如:
a、父母与子女可为继承关系,子女继承父母的特征
b、学生类与大学生、小学生、中学生为继承关系,大、中、小学生皆为学生类的分支,共同继承学生类的特征。
2、使用继承
先说为何要使用继承。
假如已经写好了一个小学生的教务系统,里面的类为小学生类。而如果想要在写一个中学生,大学生的教务系统,那么如果在定义中学生,大学生的类,又需要很多代码,为
了减少代码的冗余,可让中学生,大学生类继承小学生类的特征。
下面说明继承的使用方法:
Java实现继承的关键字:extends
继承的语法格式:
public class 类名(子类、派生类、超类) extends 类名(父类、基类) {
......//代码
}
子类继承到父类所有的属性和方法,而子类又可以定义父类中没有的方法和重写、重载父类中已存在的方法。
拓展:
1、Java中,如何辨别是否调用了重写后的方法呢?
根据new关键字后的类名是谁的来决定的:
如果是子类的类名来是实例化的对象,那么优先调用子类中的方法,如果子类没有才会调用父类中的方法。
例如:Student un = new UNStudent();
则调用UNStudent()里重写的方法而不调用Student()的方法。
2、关于 方法重写 的明细
什么情况下要使用方法重写?
子类与父类有同名的方法,但具体的实现过程不一样。
方法重写条件:
1.必须要存在继承关系;
2.子类重写方法的访问修饰符可以大于或者等于父类方法的访问修饰符。
3.子类重写方法时,方法的返回值类型,方法名,参数个数,类型,顺序都必须要和父类的一致。
4.方法中的代码实现不同。
访问修饰符的可使用性性能表:
访问修饰符 | 同类中 | 同包不同类 | 不同包 | 不同包但是有继承关系的子类中 |
private(私有) | 可以 | 不可以 | 不可以 | 不可以 |
(默认) | 可以 | 可以 | 不可以 | 不可以 |
protected(保护) | 可以 | 可以 | 不可以 | 可以 |
public(公用) | 可以 | 可以 | 可以 | 可以 |