1、在编译一个类的时候,假如该类中有内部类,则会直接生成 类$内部类.class 文件
2、匿名对象和匿名内部类是不一样的,比如一个T.class为内部类,则new T() 为匿名对象,T(){} 为匿名内部类。
举例说明:
public class A {
public void show(){
System.out.println("hello....AAA");
new B(){}; //匿名内部类
//new B(); //匿名对象
}
class B{
public void show(){
System.out.println("hello....BBB");
}
}
}
由于 new B(){};为匿名内部类。则会生成如下的类。假如为匿名对象,则不会生成A$1.class 。