一.什么是继承
1.从已有的类中派生出新类,新的类能吸收已有类的数据属性和行为,并且扩展新的能力。
2.继承是面向对象的三大特征之一。(封装,多态)
二.继承的语法格式
修饰符 class 子类 extends 父类{}
↑(继承的关键词)
三.继承的优点
1.增强代码的复用性(代码复用的优点:1.简化代码 2.一处修改,处处修改)
2.简化了逻辑
3.降低耦合性,提高可维护性
四.继承的特性
1.继承关系具有传递性
2.单继承
五.方法的重写(两同两小一大)
1.当子类中出现与父类一模一样的方法时,子类对象调用该方法,会运行子类方法内容,如同父类方法被覆盖一样
2.方法重写的规则
方法名相同
形参列表相同
子类的方法的返回值类型应该比父类方法的返回值类型更小或相等
子类方法抛出的异常类应该比父类方法抛出的异常类更小或相等
子类方法的访问权限应该比父类方法的访问权限更大或相等
3.super关键字
1.super和this的用法很像
2.this代表本类对象的引用
3.super代表父类的内存空间的标识
4.当子类父类出现同名成员时,可以用super进行区分
5.子类要调用父类构造方法或者成员方法时,可以使用super语句
package com.lenovo.entitytity;
public class Book {
private String name;
private int pages;
public void setName(){
System.out.println("父类的方法"); //此处为父类的方法(被重写的方法)
}
}
1
2
3
4
5
6
7
8
9
10
11
package com.lenovo.entitytity;
public class EBook extends Book{
public void setName(){
super.setName(); //使用super关键词调用父类方法
System.out.println("子类重写的方法"); //此处为子类的方法(重写方法)
}
}
package com.lenovo.entitytity;
public class test{
public static void main(String [] args){
EBook eBook = new EBook();
eBook.setName(); //调用子类方法
}
}
输出结果:
父类的方法
子类重写的方法
去掉super.setName();输出结果:
子类重写的方法