3、Which two demonstrate a "has a" relationship(Choose two)?
 
A. public interface Person { } 
public class Employee extends Person{ } B. public interface Shape { } 
public interface Rectandle extends Shape { } C. public interface Colorable { } 
public class Shape implements Colorable 
{ } D. public class Species{ } 
public class Animal{private Species species;} E. interface Component{ } 
class Container implements Component{ 
private Component[] children; 

解决方案 »

  1.   

    AB在语法上本身就 有错误,C Shape类实现了接口Colorable 是 is  a的关系,D Animal类 含有了Species ,所以是 has a的关系,E Cantainer还有 Component的接口 的成员变量,我觉得也是has a的关系
      

  2.   

    如果是单选题就选D,最后的E毕竟是数组吧,也可以认为 has many
      

  3.   

    has a 跟 has many 什么意思 没搞懂题目意思 请问
      

  4.   


    我也不知道你题目从哪里来的,你不知道答案么?has a 应该指 1个对象 含有另外一个对象或接口的1个实例引用硬要说has many,应该是 1个对象 含有另外一个的多个实例的引用吧
      

  5.   

    个人浅见:java 里 “has a"表示组合关系,"is a"表示继承关系。
    这个题我看是考这个。
    抛开细节(A 有错误)前三个都有继承关系,就是属于“is a”,第 4个Animal 和Species没有继承关系,类Animal 里用到了Species,这是典型的"has a"关系。 第5个,稍微特殊点,Container 和 Compenent 是有继承关系,但下面的private Component[] children; children 可以是 Container 对象,但也可以是其他实现了Componemt接口的类的对象,所以说也是"has a"的关系。