java在接口上使用匿名内部类

有这样一个接口A以及实现该接口的类B

interface A{
    void fun();//此方法默认修饰为 public abstract
}
class B implements A{
    @Override
    public void fun() {

    }
}

此时可以在测试类中 B b = new B(); 因为B是一个普通类
我们不能实例化接口,但可以实例化实现该接口里面的抽象方法的没有名字的一个类,即匿名内部类

new A() {
    @Override
    public void fun() {

    }
};

接下来用变量引用来测试一下此例

interface A{
    void fun();
}

public class Test {
    public static void main(String[] args) {
        A a = new A() {//没有名字且在Test类内部即匿名内部类
            @Override
            public void fun() {
                System.out.println("Test");
            }
        };
        a.fun();
    }
}

《java在接口上使用匿名内部类》

    原文作者:多写代码少睡觉
    原文地址: https://blog.csdn.net/weixin_42738587/article/details/89430743
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞