在Java中,提到this谁都不会陌生,这里再简单整理下,备忘。
Java中,一般来说this指针指的是当前正在访问的这段代码的对象,但是如果在内部类中需要使用外部类中的对象,这时就需要使用外部类的类名进行限定。这种方式在Android开发中也比较常见。
package twlkyao; public class A { public A() { Inner inner = new Inner(); inner.outer(); // call the inner class‘s outer method. this.outer(); // call A‘s outer method. } public void outer() { System.out.println("outer run"); } class Inner { public void outer(){ System.out.println("inner run"); A.this.outer(); // call A‘s outer method. System.out.println("--------"); } } public static void main(String[] args) { A a = new A(); } }
Inner是内部类,访问类A中的outer()方法,又由于匿名内部类中有同样的方法,所以需要使用A的this指针进行限定。
输出结果为:
inner run
outer run
--------
outer run
参考资料:http://bbs.csdn.net/topics/260050701