Java 的class文件关系

一个java源文件javac出多个class文件出来!是怎么回事?

1. 你在一个文件里定义了几个类的时候,会出现这种情况,比如
public class A {}
class B {}
class C {}
这样每个 class 会是一个 .class  文件

2. 你定义了内部类的时候会出现这种情况,如
public class A {
    class B {
    }
}
这会产生两个 class 文件,一个 A.class,一个 A$B.class

3. 使用了匿名类的时候出出现这种情况,如
public class A {
    void xxx() {
         button.addActionLisener(new ActionListener() {...});
    }
}
这也会产生多个 class,一个 A.class,一个 A$1.class
}

原文地址:https://www.cnblogs.com/suanec/p/4818954.html