生活中的继承如下图:
动物是父类,食草动物、食肉动物是动物类的子类,羊和狮子是食草、食肉动物的子类。
比起父类,子类既有父类的特性,也有子类独有的一般特性。
1.2、继承的好处:
提高了代码的复用性(多个相同类放到同一个类中)和维护性(如果方法的代码需要修改,修改一处即可)。
1.3、继承的弊端:
类与类之间产生了关系,类的耦合性增强了,父类变化导致子类也不得不变化,削弱了子类的独立性。
1.4、什么时候用继承?
继承体现的关系:is a
假设法:A、B两个类当中,如果A中包含B,或者B中包含A,就说明它们存在继承关系,此时可以考虑用继承体现,否则不能滥用继承。
例:水果和苹果,动物和猫,猫和狗。
2、继承的访问特点
在子类方法中访问一个变量:
!!子类局部范围找;
!!子类成员范围找;
!!父类成员范围找。
!!如果都没有就报错(不考虑父类的父类)
既:
子类局部→子类成员→父类成员×父类的父类(不找)
3、super
在子类方法中使用一个变量:
!!子类局部范围使用,直接调用;
!!子类成员范围使用,用this;
!!父类成员范围使用,用super。
用法和this类似。。
原文:https://blog.51cto.com/2173558/2474783