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(){}這個匿名類


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM