继承
概念:
子类拥有父类所有的非私有信息;
子类和父类由extends建立起了父子关系;
格式:
public class 子类名 extends 父类名 { }
好处和弊端:
好处:
提高了代码的复用性(多个类相同的成员可放入同一类中)
提高了代码的维护性(如果方法的代码需要修改,修改一处(父类)即可)
弊端:
继承让类和类之间产生了关系,类的耦合性增强了,当父类变化时,子类不得不跟着变化,降低了子类的独立性
什么时候使用继承?
继承体现的关系:is a
如果A和B属于同一种类(A是B的一种…),就可以使用继承(比如苹果和水果,猫和动物…)
继承中变量的访问特点:
子类局部范围找;
子类成员范围找;(想调用时需要在前面加this)
父类成员范围找;(想调用时需要在前面加super)
都没找到就报错;
子类会继承并使用父类中的数据,所以子类初始化时,会先访问父类方法并初始化
每个构造方法都会在第一行有一个隐式的super(); 调用父类的无参构造
继承中方法的访问特点:
子类成员范围找;
父类成员范围找;
都找不到就报错;
方法重写:
子类中出现了和分类中一模一样的方法声明;
应用:
当子类需要父类的功能,而功能主体子类有自己特有内容时,可以重写父类中的方法,这样就即沿袭了父类的功能,由定义了子类特有的内容
继承的注意事项:
java中类只支持单继承,不支持多继承;
java中类支持多层继承;
构造方法不能被继承;
this() 和 super() 不能同时存在,且只能写在第一行 |
|