内部类的访问权限


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);
	}
}

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