繁体   English   中英

实例化接口和实现接口的区别

[英]difference between instantiation an interface or implementing an 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(){}
       }

你错了:

在这里,您匿名实现接口,并且您已经拥有 annonymouse 类的实例

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM