当前位置: 技术问答>java相关
this的用法!很菜,但也没办法。呵呵
来源: 互联网 发布时间:2015-08-31
本文导语: this就象是c++中的this指针。指向对象本身!但是在java中,我老是搞不明白什么时候该用!希望高手们指出this的种种用法,即何时使用!谢了 | 引用本包中的方法时,如果其它的包中与本包方...
this就象是c++中的this指针。指向对象本身!但是在java中,我老是搞不明白什么时候该用!希望高手们指出this的种种用法,即何时使用!谢了
|
引用本包中的方法时,如果其它的包中与本包方法重名,而本包又引入了其它包...
|
如果一个方法的自变量或者一个局部变量与对象的成员变量同名,就可以用this来引用成员变量,与自变量或局部变量区分开。
|
class myThis
{
String a = "Hello";
public static void main(String[] args)
{
System.out.println("Hello World!");
String b = "myTry";
myThis m = new myThis();
m.writeThis(b);
System.out.println("Hello World!" + m.a );
}
public void writeThis(String a)
{
this.a = a;
}
}
理解一下这个例子。
this.a 中的a 指的是public a ;
= a 中的a 指的是String a;
{
String a = "Hello";
public static void main(String[] args)
{
System.out.println("Hello World!");
String b = "myTry";
myThis m = new myThis();
m.writeThis(b);
System.out.println("Hello World!" + m.a );
}
public void writeThis(String a)
{
this.a = a;
}
}
理解一下这个例子。
this.a 中的a 指的是public a ;
= a 中的a 指的是String a;
|
我的理解:
class a
{
……
public void c()
{
System.out.println(1);
}
class b
{
public void c()
{
System.out.println(2);
}
this.c(); //输出该是2,而不是1
}
}
class a
{
……
public void c()
{
System.out.println(1);
}
class b
{
public void c()
{
System.out.println(2);
}
this.c(); //输出该是2,而不是1
}
}
|
同意楼上的,this 就是用在哪个类里,就代表哪个类本身,当然是最近的,比如上面的内部类,不过一般用于楼上的楼上说的那种情况
|
使用THIS是为了区分两个同名,但不在同一类中的变量,用THIS引用的变量是指本类中的变量,而不用它引用的变量可以是外部类的变量。仅此而已。
|
没错,上面的举了一个member inner class的例子,在这个例子当中,在inner class中的this指的是inner class,要在inner class中调用包含这个inner class的class要这样用OutClass.this(假设包含inner class的类名为OutClass),而在OutClass中调用自己的函数或方法就可以直接用this.xxx;