实例化接口或实现接口之间的区别

时间:2015-02-17 12:49:12

标签: java interface

创建接口对象和实现接口

之间的区别是什么

示例:

 public interface A{
    public void testMethod(); 

 }

正在创建一个接口

的对象
 public class B{
    A a = new A(){
    @override
    public void testMethod(){  //implemtation here }
     };
  }

其他方式是

   public class B implements A
       {
       @override
       public void testMethod(){}
       }

2 个答案:

答案 0 :(得分:3)

你错了:

这里你匿名实现接口,你可以使用annonymouse类的实例

 public class B{
    A a = new A(){
    @override
    public void testMethod(){  //implemtation here }
     };
  }

在这里创建命名实现,只创建类而不实例化它。

 public class B implements A
       {
       @override
       public void testMethod(){}
       }

答案 1 :(得分:0)

您无法创建界面对象。接口它是一个抽象类,但所有方法都是抽象的。在第一个代码中,您正在创建一个实现接口A的匿名类(我建议您阅读java中的此功能),在这种情况下,即使您在接口中定义了其他方法,也会受到接口方法的限制。实现你不能称之为。在第二个代码中,您创建了一个实现接口A的类,这意味着您有一个至少包含接口A中定义的所有方法的类,您可以在类B中添加其他方法并调用它。