Java高階語法筆記-內部類
阿新 • • 發佈:2018-12-26
建立內部類的物件
兩種方式:
1.在Example的成員函式裡面建立。
2.在外部建立。
第一種:在Example的內部建立InnerObj
Example ex=new Example();
Example.innerObj obj1=ex.create();
第二種:在Example的外部建立InnerObj
Example.InnerObj obj2=ex.new InnerObj();
注意:因為可讀性,一般選用方法一;
Java中內部類與外部內的關係;
沒有外部類,就沒有內部內;
public class與private class
如果內部類名被修飾為public,則外部可見。
執行截圖如下:
兩種方式:
1.在Example的成員函式裡面建立。
2.在外部建立。
第一種:在Example的內部建立InnerObj
Example ex=new Example();
Example.innerObj obj1=ex.create();
第二種:在Example的外部建立InnerObj
Example.InnerObj obj2=ex.new InnerObj();
注意:因為可讀性,一般選用方法一;
Java中內部類與外部內的關係;
沒有外部類,就沒有內部內;
public class與private class
如果內部類名被修飾為public,則外部可見。
如果被private修飾,則該類徹底隱藏在內部。
程式碼如下:
package my; public class HelloWorld { int id; String HelloWorldName; public HelloWorld2 create(){ HelloWorld2 a=new HelloWorld2(); return a; } public class HelloWorld2{ int id; String HelloWorld2Name; public void Print() { id=11; HelloWorld2Name="1234"; HelloWorldName="2345"; HelloWorld.this.id=12; System.out.println("HelloWorld2.print called, id=" +id+" HelloWorld2Name:"+HelloWorld2Name+ " HelloWorldName:"+HelloWorldName); } } public static void main(String[] args) { HelloWorld a=new HelloWorld(); HelloWorld.HelloWorld2 b=a.create(); b.Print(); HelloWorld c=new HelloWorld(); HelloWorld.HelloWorld2 d=c.new HelloWorld2(); d.Print(); } }
執行截圖如下: