public class Test1 { private int a = 5; public Test1() { new Inner().print(); new Inner1().print(); new Inner2(this).print(); } |
public static void main(String[] args) { new Test1(); } |
private class Inner { private void print() { System.out.println("Inner直接取得外部的属性a=" + a); System.out.println(); } } |
private class Inner1 { private int a = 10; private void print() { System.out.println("Inner1的属性a=" + this.a); System.out.println("Inner1通过第一种方法取得外部的属性a=" + Test1.this.a); System.out.println(); } } |
private class Inner2 { private int a = 20; private Test1 t; private Inner2(Test1 t) { this.t = t; } private void print() { System.out.println("Inner2的属性a=" + this.a); System.out.println("Inner2通过第二种方法取得外部的属性a=" + this.t.a); System.out.println(); } } |
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |