在使用一些框架或者类的时候,发现这个类是不对外暴露的,只供内部使用,这个时候我们又需要它的功能该怎么办呢?
比如下面这段代码:
public class text {
// 测试方法
public void testMethod() {
System.out.println("testMethod");
}
// 空构造
protected text() {
}
}
构造方法是受保护的,根本创建不了对象
像这样运行会直接报错,反射有效率问题,创建子类有点麻烦
那么就可以直接创建一个空实现匿名内部类
public static void main(String[] args) {
test test = new test(){};
test.testMethod();
}
创建的对象后面加个大括号就可以创建出一个匿名的子类,这个匿名类没有实现方法,它的功能全靠调用父类的。所以它可以发挥和父类一样的作用,简单又省力,只需要加上{}就可以创建使用.