乐趣区

关于java:继承super-方法重写-笔记

继承

是面向对象三大特色之一,能够使得子类具备父类的属性和办法,还能够在子类中从新定义,追加属性和办法。

public claa 子类名 extends 父类名{}

继承中 子类的特点 是:
子类能够有父类的内容
子类还能够有本人特有的内容

继承的益处害处

益处:
进步了代码的复用性(多个类雷同的成员能够放到同一个类中)
进步了代码的维护性(如果办法的代码须要批改,批改一处即可)
害处:
继承让类与类之间产生了关系,类对的耦合性加强了,当父类发生变化时子类实现也不得不跟着变动,减弱了子类的独立性

什么时候应用继承

继承中变量拜访特点

继承中构造方法的拜访特点

子类的所有构造方法都会默认拜访父类的无参构造方法
因为子类会继承父类中的数据,可能还会应用父类的数据,所以子类初始化之前,肯定要先实现父类数据的初始化(也就是为了实现初始化)
每一个子类构造方法的第一条默认语句都是 super();

继承中成员办法的拜访特点

super

拜访父类的成员变量

this.age // 拜访本类的成员变量 age 也就是以后类
super.age// 拜访父类的成员变量 age 

内存图


办法重写

子类中呈现了和父类一摸一样的办法申明,当子类须要父类的性能,而性能主体子类有本人持有额内容时,能够重写父类中的办法,这样既因循了父类的性能,又定义了子类特有的内容。
@Override
是一个注解
能够帮忙查看重写办法的办法生命的正确性。
办法重写注意事项
1. 父类中的公有办法子类不可能重写,也不能继承

后面没有 public 会有一个默认的修饰符,然而权限不如 public 高
2. 子类重写父类的时候,拜访权限不能比父类低,能够比父类高或一样

3.extends 不能同时继承多个类,只反对单继承,能够多层继承,二字继承爸爸,爸爸继承爷爷
4. 子类的有参结构会默认调用父类的参数

public Cat(String name,int age){super(name,age)}
退出移动版