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