继承就好比儿子继承了爸爸的财产。
Java的具有单继承的特点,亲爸爸只有一个!
继承的概念:在原有的类的基础上创建一个新的类,对原有的类进行扩展(IS - A关系)
Java的继承通过extends关键字来实现,实现继承的类被成为子类,被继承的类被称为父类。具体声明格式如下:
修饰符 class SonClass extends FatherClass{
//类定义部分
}
在英文字母中,extends的意思是扩展,也就是说子类是父类的一种扩展,就好比苹果除了具有水果本身的特征,还有自己的特点
继承的好处:
1.实现了代码的重用
2.体现了不同层次的抽象
3.体系化类
4.为多态做铺垫
使用继承时的注意点:
子类对象或者子类的方法当中可以直接使用父类中没有用private修饰的成员
如果子类对象想要使用父类的private修饰的成员变量,调用get set 方法
子类的成员变量名称和父类中的成员变量名称不一样,直接调用即可
子类的成员变量名称和父类中的成员变量名称一样,使用super,this关键字区分开来
子类的方法访问变量的查找顺序:
在子类方法的局部范围找,有就使用。
在子类的成员范围找,有就使用。
在父类的成员范围找,有就使用。
找不到,就报错。
子类的成员方法和父类中的成员方法名称不一样,则直接使用对象调用即可
子类的成员方法和父类中的成员方法名称一样,则构成了方法的重写,这时候需要使用spuer关键字来区分。
通过子类对象访问一个方法的查找顺序:
在子类中找,有就使用
在父类中找,有就使用
找不到,就报错
方法重写:
发生重写的前提条件是:类之间有继承的关系
什么是重写?
子类中的方法与父类中的方法一模一样时叫做覆盖(重写)
在子类方法上面加@Override,保证子类方法是重写的方法
如果不加:只要满足重写概念,也是重写
1.子类的对象在调用方法时,如果该方法是重写的方法,
运行子类中的方法,如果子类中没有该方法,将调用父类的方法
2.如果子类重写的方法中调用父类中被子类重写的方法时,可使用super关键字来区分