例如有2个类
class A 和class BB extends AB{A a=new A();}  2个B类有什么区别?

解决方案 »

  1.   

    不知道你在说什么. 
    B{A a=new A();}   ?这个B是什么东西 ?  类不像类  方法不像方法
      

  2.   

    应该是inheritance与composition的区别
    如果B有A的特性就用inheritance(就是属于一类),比如老师和人
    但是显示器跟电脑就用composition
    Java编程思想有专门讲的(Inhreitance VS Composition那里)
      

  3.   

    继承和组合的关系
    B extends A 是继承,B继承于A;
    B{A a=new A();} 是组合,B中声明了A的对象。
    是使用继承还是组合可以使用如下方法进行决策:
    如果一个对象是另一个对象的一种就使用继承,例如小汽车是车的一种,小汽车类就继承于车类;
    如果一个对象是另一个对象的一部分就用组合,例如轮胎、方向盘都是汽车的一部分,汽车类中就有轮胎、方向盘对象的组合。
      

  4.   

    首先: 你 要 弄明白 继承的精髓!
     继承的精髓是:继承父类的类型!B extends A 是继承,B继承于A;                  说明B继承了A这个类型
    B{A a=new A();} 是组合,B中声明了A的对象。      这种写法的目的是代码的复用如果你 想说继承也是为了代码的复用的话,那说明你对继承还不够理解!!