没有实施关键字,我们可以使用接口吗?

时间:2013-07-19 12:43:53

标签: java interface implements

我们可以使用变量和接口方法而不使用关键字“Implements”。

注意:接口和类在同一个包中。

先谢谢.. !!!

3 个答案:

答案 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)

接口是要完成的类的合同。如果没有类实现它,那么你可能会误用接口。

正如所指出的,您可以访问静态成员变量,但我仍然怀疑是否需要这样的设计!