继承的优点:
无损替换
代码复用
方便修改
继承是多态的基础
Java继承的语法
修饰符 subclass extends superclass {
//类定义部分
}
继承通过(inheritance)通过extends 关键字来实现 。
父类又称为 基类 超类
修饰符如果是public则该类在整个项目中可见;若无public修饰符,则该类只在当前包可见不可以使用;不可以使用private和protected修饰类
继承是面向对象的三大特征之一;
Java中只支持单继承,即每个子类只有一个直接父类,继承表达的是is a的 关系,或者说是一种特殊和一般的关系。
子类可以从父类里继承什么?
继承public和protected 修饰的属性和方法,无论子类赫尔父类是否在同一个包里。
继承默认权限修饰符(friendly)修饰的属性和方法,但是子类和父类必须在同一个包里。
子类没办法继承父类的什么?
使用默认权限并且子类和父类不在同一个包里
无法继承private修饰的属性和方法
无法继承父类的构造方法
(F5)单步跳入 (F6)但不跳过
在子类中调用 system out.printf(string 使用%s int 使用%d );
在子类中调用 个体 get_(); this_(); super_();
重写
在子类中可以根据需求对从父类继承的方法进行重新编写,称为方法的重写或方法的覆盖
方法的重写需要满足的要求:
(1):重写方法和被重写方法必须具有相同的方法 名
(2):重写方法和被重写方法必须具有相同的参数列表。
(3):重写方法的返回及类型必须和被重写方法的返回值类型相同或是其子类
(4):重写方法不能缩小被重写 方法的访问权限
子类构造运行步骤解密:
从main———子类构造——不进入子类构造的构造体,走父类——执行父类构造——返回子类构造——执行子类构造——返回main函数