簡單來講,內部類(inner class)指那些類定義代碼被置於其它類定義中的類;而對於通常的、類定義代碼不嵌套在其它類定義中的類,稱爲頂層(top-level)類。對於一個內部類,包含其定義代碼的類稱爲它的外部(outer)類。java
那麼對於內部類,該如何去使用呢?url
下面給出靜態成員類(Static Member Class)和普通成員類(Member Class)使用的方式。spa
package cuc; import cuc.TestClass.Inner1; public class Main { public static void main(String args[]) { //靜態的內部類 TestClass.Inner1 inner1 = new Inner1(); //和普通的頂層類new的方法同樣 inner1.report(); //普通內部成員類 TestClass tc = new TestClass(); TestClass.Inner2 inner2 = tc.new Inner2(); //注意這裏的使用方式 inner2.report(); } }
兩種內部類的定義以下:.net
1 package cuc; 2 3 public class TestClass { 4 5 //靜態成員類 6 public static class Inner1{ 7 public void report(){ 8 System.out.println("This is a inner class. (NOT static)"); 9 } 10 } 11 12 //普通內部成員類 13 public class Inner2{ 14 public void report(){ 15 System.out.println("This is a static inner class."); 16 } 17 } 18 }
【參考資料】:
一、java - 內部類(Inner Class)詳解code
來自:http://blog.csdn.net/u010983881/article/details/50449445blog