我们可以使用变量和接口方法而不使用关键字“Implements”。
注意:接口和类在同一个包中。
先谢谢.. !!!
答案 0 :(得分:7)
public static final
,因此您可以直接使用它们您可以通过匿名类实现接口(不使用implements
关键字)
public static void main(String[] args) throws Exception{
System.out.println(I.s); // accessing Interface I's variable
I i = new I() {
@Override
public int getS() {
return 10;
}
};
System.out.println(i.getS()); // accessing I's method
}
interface I {
String s = "test";
int getS();
}
答案 1 :(得分:2)
您可以使用接口的public static final
变量作为类中的常量定义,而无需实现接口。
使用方法,如果不在子类中实现这些方法就没用,因为接口只声明隐式 abstract 的public
方法。如果没有任何实现,您将如何处理方法定义?
接口实际上是合同定义,任何实现接口的类都遵守合同。
您可以通过创建anonymous class 实现接口而不使用关键字implements
。 但是再次通过该类实现接口。
P.S:请尝试这样做以确保接口可以使用abstract关键字声明方法,尽管它是多余的。
interface A {
public abstract void method();
}
答案 2 :(得分:2)
接口是要完成的类的合同。如果没有类实现它,那么你可能会误用接口。
正如所指出的,您可以访问静态成员变量,但我仍然怀疑是否需要这样的设计!