继承就是一个类A继承了另一个类B的所有成员,并且能够访问使用那些非私有成员。加入多个类中存在相同属性和行为时,我们可以将这些内容抽取到一个类中,那么多个类无需再定义这些属性和行为,只要继承那一个类即可。因此继承的一个很重要的意义就是能够减少代码的冗余。
继承的语法:继承的注意事项:public class A{ }
public class B extends A{ } // 基于A已有成分的基础上扩展出B这个子类(B继承A)
Java是单继承的,一个类只能继承一个父类。
继承的案例:需求:请使用继承定义以下类。
学生类 属性:姓名,年龄; 行为:吃饭,睡觉
老师类 属性:姓名,年龄,薪水; 行为:吃饭,睡觉,教书
班主任 属性:姓名,年龄,薪水; 行为:吃饭,睡觉,管理
子类和父类中成员重名会怎么样?
如果需要访问子类的成员,则用this来定义;访问父类的成员,则用super来定义。
继承后特点: 在子类方法中访问成员(成员变量、成员方法)满足:就近原则例如:
System.out.println(this.name); //this代表当前对象,因此输出子类的成员变量。
System.out.println(super.name); //super是调用父类里面成员的关键字,因此输出父类的成员变量。
1、先从子类局部范围找
2、然后子类成员范围找
3、再从父类成员范围找,如果父类范围还没有找到则报错。
当父类继承下来的方法不满足子类需要的时候,可以写一个和父类声明一样的方法,方法体中逻辑重新实现,这个子类重新定义的方法就是重写后的方法。重写后的方法会覆盖父类的功能,因此成为方法重写,方法的覆盖。
重写的格式:当我们要重写父类的一个方法时,一般的做法就是定义一个声明一样的方法,方法体逻辑重写。简而意之,声明不变,重新实现
注意事项:子类方法覆盖父类方法,必须要保证权限大于等于父类权限.



