对于接口的解释,各种书中都是千篇一律--更合理的实现多重继承提供一个框架指明多个类需要实现的方法等。看了很久,从给出的例子和语言解释中怎么也看不出接口的意思,这个程序规则定义为接口有点勉强。接口应该是两个(或多个)模块之间的交接协议,通过接口接收到了什么东西。而java的接口中没东西,就像下面这个例子:interface Interface1{ 有方法名 }
interface Interface2{ 有方法名 }public class ClassItf implements Interface1,Interface2
{
实现以上两个接口中的方法
}
输出结果如果注释掉 /* implements Interface1,Interface2 */ ,也能输出同样的结果,那定义了接口有什么用呢?而且在另一个*.java程序中再用Interface1,实现的方法是另一种写法的情况吓,那就应该说是实现两个不同的方法用了同一个接口???两个程序用了同样的方法名而已。是这样吗????

解决方案 »

  1.   


    interface Animal{
         public void run();
    }
    class Dog implements Animal{
         public void run(){
              System.out.println("dog run");
         }
    }
    class Cat implements Animal{
         public void run(){
              System.out.println("cat run");
         }
    }
    public class Test{
         public static test(Animal animal){
              animal.run();
         }
         public static void main(String[] args){
              Animal dog=new Dog();
              Animal cat=new Cat();
              test(dog);
              test(cat);
         }
    }接口的作用是提供一个统一的接口,通过一个统一的接口调用,产生不同的行为。
      

  2.   

    接口的作用就是为了实现多态,一个接口可以被多个不同的类实现而得到不同的功能,而且接口的另外一个作用就是实现了运行时的动态绑定,而不时编译的时候绑定,就如下面的例子来说明,定义了Animal接口,下面有Cat和Dog类实现了Animal,在main方法中,虽然定义了Animal的引用对象dog和cat,但他们实际指向的是它们各自创建的Dog对象和Cat对象,在运行的时候它就会自动的去调用它们自己定义的run方法,这就时所谓的动态绑定 以上是我个人的理解......
      

  3.   

    接口就是标准,sun制定了标准
      

  4.   

    sun制定??到底指语法还是底层虚拟机实现啊?怎么感觉越来越复杂啊!