java中, 一般来说this指针指的是当前正在访问的这段代码的对象 ,但是如果在内部类中需要使用外部类中的对象,这时就需要使用外部类的类名进行限定。 这种方式在android开发中也比较常见 。
@author: twlkyao
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
如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!