本帖最后由 孙传磊 于 2013-3-3 18:57 编辑
至此 一楼 夏添
其实这也是检查有没有内部类的一个客观的方法。就是要看一个类里有没有内部类,将它编译一下,看生成的文件(如使用的是eclipse 的话该文件在bin文件夹下测试类所对应的包中) 是否有内部类生成的.class文件,名称是“包装类名$内部类名.class”
可以通过下面的测试类证明一下:
package qq;
interface Test{
void func();
}
class Demo{
public static void main(String[] args){
new Demo().show(new Test(){
public void func(){System.out.println("匿名内部类1");} });
new Demo().show(new Test(){
public void func(){System.out.print("匿名内部类2");} });
}
private void show(Test t) {
t.func();
}
}
我们可以在bin文件夹下找到测试类所对应的qq包中看到新生成的
file:///D:/1.jpg
就是Demo$1.class 和Demo$2.class ,匿名内部类,主要是用到一个类只想使用一次的时才使用的,当程序运行到此就会把它们加载。 |