
正文
class$1,class$2,class$innerclass中的$的含义
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
class文件名中的$的含义如下:
$后面的类是$前面的类的内部类
内部类有以下两种情况:
1.普通的组合类形式,即在一个类内部定义一个普通的类
public class Outer { class Inner {
public Inner {}}}
javac Outer.java后会出现两个class文件:
Outer.class
Outer$Inner.class
2.在一个类内部定义一个匿名类(一般是接口interface)
//定义一个接口
public Interface Test {
public void test();
}//进入正题
public class Outer {
public Test test1 = new Test(){
public void test() {Sysem.out.println("test1")}
}}
此时会产生以下两个类:
Outer.class
Outer$1.class
其中$1代表的就是Outer类里面的new Test(){}这个匿名类







