注意:在执行类的所有清理动作的时候,先清理派生类的销毁方法,再清理基类的方法。
如果Java的基类中拥有某个已经被多次重载的方法,那么在导出类中重新定义该方法并不会屏蔽基类中的任意版本;
如下示例中虽然在Bart中引入了一个新的重载方法,但是Bart在Homer中的所有重载方法都是可用的。
class Homer{char doH(char c){System.out.println("doh(char)");return 'h';}float doH(float f){System.out.println("doF(float)");return 1.2f;}}class MilHouse{}class Bart extends Homer{void doH(MilHouse milHouse){System.out.println("doH(MilHouse)");}}//在子类中,可以对基类的方法进行重载,且互不影响public class Hide {public static void main(String[] args) {final Bart bart = new Bart();bart.doH(1);bart.doH('x');bart.doH(1.0f);bart.doH(new MilHouse());}}
继承:“is-a”(是一个)的关系,即当前类属于基类。
组合:“has-a”(有一个)的关系,当前类有一个由某一基类类型的属性。
