java-oop-继承

继承:
        java的继承是定义一种新的类型,从已有类中吸收成员变量和方法,新的类型可以添加新的方法和成员变量
        这种方式可以提高代码的复用性,缩短开发周期,减少开发费用
        extends关键字:用于继承语法
            格式:
                public class subClass extends SuperClass{}
    继承中的构造器:
            子类不能继承父类的构造器,但是子类中的构造器可以调用父类的构造器
                    语法:super(有参传参);
                    作用:可以更好地给继承过来的成员变量赋值
            子类中的构造器一定会有一个调用了父类的构造器
            父类中如果没有无参构造器,子类需要显式调用父类构造器
            如果父类中有无参构造器,子类中的构造器可能隐式调用了父类的无参构造器  即隐藏了super()
    super()与this():
            相同点:都是调用构造器,而且必须放在首行首句
            不同点:super()调用父类构造器,this()调用本类中其他构造器
    继承的传递性:
            继承特征有传递特性:B类型继承了A类型的特征,C类型继承了B类型的特征,C间接继承了A类型的特征
    继承的另一特点:
            单继承:一个子类只能继承一个父类。但是一个父类可以有多个子类
    方法的重写(override):
           子类可以重新编写继承父类的方法
            (1)方法名相同,参数列表相同
            (2)返回值类型可以相同,也可以是父类方法的返回值类型的子类型
            (3)修饰词可以不变,或者可以比父类的修饰权限更大
    父类型的变量可以引用子类型的对象
           如:
                    Animal a = new GoldFish();
                    Animal类型的变量a引用了子类型GoldFish的对象
        变量能调出来的方法与成员变量
                方法:
                       编译期,变量只能调出本类中的方法
                       运行期,变量调用出的方法执行逻辑与对象的类型有关
            成员变量:
                       变量调用出的成员变量一定是本类型中的成员变量(与编译期和运行期无关)

猜你喜欢

转载自blog.csdn.net/qq_38741415/article/details/81459003