1:也就是java中类的继承的一种方式,即聚合(很多地方可能不是用的这个词,但意思一样);
比如说:class A{
        .
           public method1(){}         
}
       class B 
        B b=new b();
         b.method1();
}
这种用法就叫做类的聚合(当然这两个类要放在同一个包中,而且类的锈蚀浮要么为public,要么为友好型,就是什么都没有.可以理解为自己创建了一个新类(A),就像java自己的类一样,通过它我自己创建它的一个实例后,我就可以用它的方法了.所谓的编译时间,就是在对B中的b.method1()编译时,用到了原来的A类.
2

解决方案 »

  1.   

    不好意思上面打错了一点,应该是:
    class A{
        public void method1();
        }
    class B{
        A a=new A();
        a.method1();
    },这样才对,不通过extends来使用A类
      

  2.   

    其实2,3也是类聚合的问题,我建议你找本书看看,讲到了类的聚合
    关于4,就是在类的继承中使用的另外的一种方法,即常用的extends语法,它通过不停的继承父类,来实现本类所需的方法和变量,这样就会导致类的层次会随着继承的增加而复扎,所以java中通过讲方法统一封装到一个接口(interface)中,这样只需implements这个接口就方便的多
    这也是java的单继承规范所引起的!!!
      

  3.   

    第4中我给你解释一下,不过马上给分哦!!!
    for example:
    //定义一个接口
    interface S{
      public void call();
    }
    //定义class A
    class A implements S{
      public void call(){  }
    }
      

  4.   

    第4中我给你解释一下,不过马上给分哦!!!
    for example:
    //定义一个接口
    interface S{
      public void call();
    }
    //定义class A
    class A implements S{
      public void call(){
       System.out.println("call in class A");
      }
    }
    //定义class B
    class B implements S{
      public void call(){
       System.out.println("call in class B");
      }
    }
    你自己定义了一个class C
    如果你想调用A中的call方法,势必extends A,如果你又想调用B中的call,势必extends B,但是java为了避免减少继承的复杂性,只允许单继承,这样的话,你就需要用到interfaceclass C implements S{
      S a=new A();
      a.call();//----调用A方法
      a=new B();
      b.call();//----调用B方法
    }
      

  5.   

    这个肯定是翻译过来的书,建议换本书看看!
    其实就是讲继承和接口的,java是类是单继承,接口可以多继承
    都是必须的,为了使程序设计架构更合理!