java內部類的建立方式
阿新 • • 發佈:2018-12-26
內部類我們在程式開發中經常會用到,這裡通過普通內部類,靜態內部類和方法內部類三種方式來介紹一下內部類的建立方式。
1.普通內部類的建立:
通過上面的程式碼可以看出來,普通的內部類不必要通過外部類顯示定義私有屬性的get和set方法就可以訪問外部類的私有屬性。/** * * 普通內部類的定義 * */ class Outer { private String name = "hello world !"; //普通內部類定義 class Inner{ public void print(){ System.out.println(name); } } } public class TestDemo { public static void main(String[] args) { Outer out = new Outer(); out.new Inner().print(); } }
2.靜態內部類
通過觀察上面的程式碼,靜態內部類只能訪問外部類的靜態屬性,靜態內部類也不用通過外部類顯示定義靜態私有屬性的get和set方法就可以訪問外部類的私有屬性。/** * * 靜態內部類的定義 * */ class Outer{ private static String name = "hello world !"; static class Inner{ public static void print(){ System.out.println(name); } } } public class TestDemo { public static void main(String[] args) { Outer.Inner.print(); } }
3.方法內部類
方法內部類要想訪問方法傳入的引數和方法內部的引數,引數型別前面必須要新增final關鍵字來修飾。/** * * 方法內部類的定義 * */ class Outer { private String name = "hello world !" ; public void fun(final int num){ final String param = "我是方法引數"; class Inner { public void print(){ System.out.println("方法傳入引數:"+num); System.out.println("外部類引數:"+Outer.this.name); System.out.println("方法內部引數:"+param); } } new Inner().print(); } } public class TestDemo { public static void main(String[] args) { new Outer().fun(100); } }