继承 面向对象编程三大特征之二
引子
现实生活中的继承,例如: 玉如意 祖父 –>父亲 –>自己 –>儿子
程序中体现?概念
继承是从已有的类中派生出新的类
新类拥有已有类的特征和行为,并且可以拓展
已有的类称为父类,新类称为子类语法
继承出现后,需要借助 extends关键字 写法如下:
public class Dog extends Animal{ }
Dog类称之为子类
Animal类称为父类,基类(基础的类)
子类中就拥有了父类中所有的属性和方法, 但是构造器除外
存在继承关系的时候,如果本类中没有的时候 就可以去父类中找
父类中private 修饰的属性和方法,子类 具有拥有权 而没有使用权
- 示例:
玉如意问题、动物问题
public class Extends { public static void main(String[] args) { Son son = new Son(); System.out.println("传家宝是: "+ son.heirloom); son.skill(); son.business(); } } class Grandpa{ public String heirloom = "玉如意"; public void skill() { System.out.println("打猎"); } } class Parent extends Grandpa{ public void business() { System.out.println("经商"); } } class Son extends Parent{ }
好处:
避免了对多个类相同特征行为进行描述
大大简化了代码,降低开发周期Java继承特点:
1. java是单继承 可以多层继承 不可以多继承
a、单继承
class A extends B {}
b、 多层继承
class B extends C{ }
class A extends B {}2. Object类 就java所有类的基类