创建接口对象和实现接口
之间的区别是什么示例:
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(){}
}
答案 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中添加其他方法并调用它。