我们在哪里可以使用我们可以在为接口创建匿名类的场景?

时间:2016-09-22 10:13:47

标签: java interface abstract

界面:

public interface MyFirstInterface {
    void myFirstAbstractMethod();
    default void myDefaultMethod() {
        System.out.println("Hi I am default method in Interface.");
    }
}

类别:

public class MyFirstClass{
    public static void main(String[] args) {
    MyFirstInterface myFirstInterface = new MyFirstInterface() {
        @Override
        public void myMethod() {
            System.out.println("Main class : "+this.getClass());
        }

    };

    myFirstInterface.myMethod();
    myFirstInterface.defaultMethod();

    }
}

现在我们知道我们正在实例化一个匿名类,我想知道的是为什么有人会使用它?这样做有什么好处或缺点?

1 个答案:

答案 0 :(得分:0)

它不是构造函数。这是一个方法a()声明,返回类型为A

此外,我们可以使用匿名类实例化接口。例如Runnable

Runnable r = new Runnable() {
   @Override 
   public void run() { ... }
};

Runnable r = () -> { ... }