有这样一个接口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();
}
}