(文章翻译自Inheritance vs. Composition in Java) 这篇文章阐述了Java中继承和组合的概念.它首先给出了一个继承的例子然后指出怎么通过组合来提高继承的设计.最后总结出怎么在两者中作出选择. 1.继承 现在假设我们有一个Insect类.这个类包含了两个方法:1) move() and 2) attack(). class Insect { private int size; private String color; public Insect(int size…
本文主要说明Java中继承与组合的概念,以及它们之间的联系与区别.首先文章会给出一小段代码示例,用于展示到底什么是继承.然后演示如何通过“组合”来改进这种继承的设计机制.最后总结这两者的应用场景,即到底应该选择继承还是组合. 1.继承 假设我们有一个名为Insect(昆虫)的类,这个类包含两个方法:1)移动move(): 2)攻击attack().代码如下: class Insect { private int size; private String color; public Insect(…
Java继承与组合 继承 java 中使用extends关键字表示继承关系,当创建一个类时,如果没有明确指出要继承的类,则是隐式地从根类Object进行继承. 子类继承父类的成员变量 子类能够继承父类的public和protected成员变量,不能够继承父类的private成员变量 如果在子类中出现了同名称的成员变量,则子类的成员变量会屏蔽掉父类的同名成员变量.若要在子类中访问父类中同名成员变量,需要使用super关键字来进行引用. public class Main { /** * @para…