1、成员内部类里面不能有单纯的static的方法或者属性(如果要定义static的属性必须要是final的)
2、创建成员内部类的对象的时候必须要先创建外部类的对象在创建内部类的对象格式如下:
new 外部类().new 内部类();
3、成员内部类里面如果希望访问外部类的成员变量需要用到外部类的类名.this.属性名称;
4、成员内部类里面的成员方法访问外部类里面的成员方法的时候需要用到外部类的类名.this.方法名();
1 public class InnerClass 2 { 3 public int age = 20; 4 public static int width = 30; 5 6 public void test() 7 { 8 this.new Inner(); 9 System.out.println("test"); 10 } 11 12 public static void test1() 13 { 14 System.out.println("test1"); 15 } 16 17 //定义一个成员内部类 18 class Inner 19 { 20 public int age = 30; 21 public static final int width = 50; 22 23 public void test() 24 { 25 InnerClass.this.test(); 26 System.out.println("testa" + InnerClass.this.age); 27 } 28 29 public void test1() 30 { 31 InnerClass.test1(); 32 System.out.println("testb" + InnerClass.width); 33 } 34 } 35 36 public static void main(String[] args) 37 { 38 //定义内部类的对象 39 InnerClass.Inner inner = new InnerClass().new Inner(); 40 41 inner.test(); 42 inner.test1(); 43 } 44 }
有错请指出 谢谢!