内部类的访问权限


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

猜你喜欢

转载自blog.csdn.net/qq_41939384/article/details/80824562
今日推荐