Java 内部类的访问(类中类)


public class Main {

	public static void main(String[] args) throws UnsupportedEncodingException {
		Outer outer=new Outer();//实例化外部类
		Outer.Inner inner=outer.new Inner();//通过外部类的实例,得到内部类的实例
		inner.run();//第一种访问内部类的方法
		outer.run();//第二种通过外部类的方法访问内部类的方法 
		Outer.Inner inner2=outer.getInner();//通过外部类的getInner方法得到内部类实例
		inner2.run();//第三方访问方法
	}

}
class Outer{
	private int a=10;
	class Inner{
		private int a=20;
		public void run(){
			int a=30;
			System.out.println(a);
			System.out.println(this.a);
			System.out.println(Outer.this.a);
			
		}
	}
	void run(){//通过外部类的方法访问内部类方法
		Inner inner=new Inner();
		inner.run();
	}
	Inner getInner(){//返回内部类给对象
		Inner inner=new Inner();
		return inner;
		
	}
}

© 2011, 冰冻鱼. 请尊重作者劳动成果,复制转载保留本站链接! 应用开发笔记