內部類的訪問權限


public class function {
	int a = 2;
	static int b = 9;
	private String c;
	private static String d;
	
	class inner1{
		void test(){
			System.out.println(a);//外圍屬性
			System.out.println(b);//外圍靜態屬性
			System.out.println(c);//外圍類私有屬性
			System.out.println(d);//外圍類靜態私有屬性
			/*
			 * 非靜態內部類
			 * 1.可以訪問外圍類的非靜態數據,包括私有數據
			 * 2.可以訪問外圍類的靜態數據,包括靜態私有數據
			 */
		}
	}
	static class inner2{
		void test(){
//			System.out.println(a);//外圍類屬性
			System.out.println(b);//外圍類靜態屬性
//			System.out.println(c);//外圍類私有屬性
			System.out.println(d);//外圍類靜態私有屬性
			/*
			 *靜態內部類:
			 *1.可以訪問外圍類的靜態數據,包括靜態私有數據
			 *2.不能訪問外圍類的非靜態數據
			 **/
		}
	}

	public static void main(String[] args) {
		function f = new function();
		function.inner1 i=f.new inner1();
		System.out.println(i);
	}
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章