java非静态内部类

package frank;
import java.lang.*;

public class App
{
	public static void main(String[] args)
	{
		Integer i1 = 127;
		Integer i2 = 127;
		System.out.println(i1==i2);
		App a = new App();
		a.get();
	} 
	private void get()
	{
		App02 a=new App02();
		a.print();
	}
	private int age;
	private class App02
	{
		private int age;
		private static final int age2 = 20;
		public void print()
		{
			System.out.println("内部类的变量:"+this.age+"外部类的变量:"+App.this.age);
		}
	}
}

  非静态内部类只能寄存在外部类中,内部类可以访问外部类的私有化成员,非静态内部类中不能定义静态变量、静态方法、静态代码块。外部类的静态方法中不能实例化非静态内部类,这样子会出现编译错误,比如内部类中访问了外部类非静态成员,但是这是外部类压根没有实例化,这样子一来肯定出错了。只能在非静态方法中实例化内部类。

posted on 2013-08-29 23:04  wp456  阅读(352)  评论(0)    收藏  举报

导航