all methods defined in Set are also defined in Collectionset和collection都是接口,怎么是defined呢?
还有即使它们的函数都是一样的,那它们的区别是怎么体现的

解决方案 »

  1.   

    空方法当然也是define(一种定义)
      

  2.   

    没错的,方法在接口中是定义的,在类中是实现的。
    可以说是方法是在接口中定义的并由实现它的类来实现这些方法。
    interface A{
        public void f();//这叫做定义
    }
    interface B implements A
    {
        public void f(){//这叫实现
            //coding here
        }
    }Collection是Set的父接口,所以在Set中定义的未必在Collection中也有定义。
      

  3.   

    all methods defined in Set are also defined in Collectionset和collection都是接口,怎么是defined呢?
    还有即使它们的函数都是一样的,那它们的区别是怎么体现??他们的底层实现不一样
      

  4.   

    这里的define和C++语境中讲的declare和define中的define不相同。C++中的这个define就表示是做了实现,但是在Java的语境中,我们通常说implement。
      

  5.   

    感谢大家的回复,虽然说清楚了define的含义,但是我想说的是
    all methods defined in Set are also defined in Collection
    这句话是正确的,我查过jdk,Set中和Collection中的函数都是一样的,并且都是15个,Set是extends Collection,而且都是接口,那也就是说它们是没有方法体的,请问,对于2个接口,它们都有15个一样的函数define,那么这2个接口的区别怎么体现?
      

  6.   

    这2个接口的区别是要通过你编写implements来体现的,接口只不过定义这堆fun干什么的,但是具体怎么实现还是靠class来implements.
      

  7.   

    interface A{
        public void f();//这叫做定义
    }
    interface B implements A
    {
        public void f(){//这叫实现
            //coding here
        }
    }这是楼上一个兄弟发的。我有点不明白
    接口B居然继承接口A??而且还实现了A的定义??可以这样的吗??
      

  8.   

    B的前面显然是笔误,
    class B implements A ....
      

  9.   

    楼主可以看一下Set 与 Collection 的JDK,两个接口定义(define)的方法都是一样的。
      

  10.   

    请大家回答的时候只回答Set和Collection的区别怎么体现,其它的就不用回复了
      

  11.   

    Java Programming Language, 3e 上有这么一句话:
    The Set interface extends Collection, providing a more specific contract for its methods, but adding no new methods of its own.Set 接口和 Collection 接口的区别主要体现在对方法的契约要求不同。
      

  12.   

    这个确实也没有搞懂!明天上午到图书馆查查去,图书馆刚刚进可一本最新的版本的JDK是翻译过来的,还有例子,非常好。
      

  13.   

    请问
    Set how to providing a morspecific contract for its methods?e