一、继承概述
- 格式:
public class Zilei extends Fulei{}
- 特点
1、子类继承了父类后,子类可以调用父类的方法;
2、子类还可以有自己特有的内容。
二、继承中变量的访问特点
子类方法中访问一个变量时,先在子类局部变量中找,没有就在子类成员变量中找,再没有就在父类成员变量中找。
“就近原则”
成员方法同理!
三、super
用来访问父类的成员变量
- 第一个age为局部变量
- 第二个age为当前类成员变量
- 第三个age为父类的成员变量
this可以理解为是对当前类的对象的引用
super可以理解为是对父类的对象的引用
this、super的三种用法
四、继承中构造方法访问的特点
总结来说就是:
- 创建子类对象时,无论是调用子类的有参构造方法还是无参构造方法,都会先调用父类的无参构造方法
如下图中,子类构造函数隐藏了
super();
这样做的原因是,在构造子类之后,很可能会用到父类的成员,因此会同步初始化父类成员。
五、this、super内存图
见黑马P156
六、方法重写
概述:子类中出现和父类一模一样的方法声明
重写后只需要写新增功能,延续的功能用
super.方法();
@Override
是一个注解,帮助检查正确性。
七、方法重写的注意事项
重写的权限:
public-->默认-->private
意思是,
子类创造的是public方法 ,可以重写父类方法是public、默认和private的
子类创造的是默认方法,可以重写父类方法是默认和private的
子类创造的是private方法,可以重写父类方法是private的
默认方法为:(前面没有权限修饰符)
八、继承的注意事项
- java中类只支持单继承,不能多继承。
- Java中类支持多层继承
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。