this关键字主要有三个应用:
1.调用本类中的属性,也就是类的成员变量;
2.调用本类中的其他方法;
3.调用本类中的其他构造方法,调用时候要放在构造方法的首行。
* this关键词除了可以调用变量或者成员方法之外,最引人注目的是它可以返回类的引用。如在本类中使用return this ,即可返回对类的引用。如代码在student类上,那么return this 即代表着return student。
*------------------------------------------------------------------------------------------------------------------------------------分割线——————————————————————————————————————————————————————————*
java中构造方法的特性:
- 当前类的其他构造方法通过this语句调用;
- 当前类的子类的构造方法通过super语句调用;
- 在程序中通过new语句调用。
*------------------------------------------------------------------------------------------------------------------------------------分割线——————————————————————————————————————————————————————————*
参考文档 :http://www.cnblogs.com/nolonely/p/5916602.html
1.当成员变量和局部变量重名的时候,在方法中使用this则代表的是类的成员变量。
2.把自己当作参数传递时,也可以用this.(this作当前参数进行传递)
3.有时候,我们会用到一些内部类和匿名类,如事件处理。当在匿名类中用this时,这个this则指的是匿名类或内部类本身。这时如果我们要使用外部类的方法和变量的话,则应该加上外部类的类名。如:
public class HelloB {
int i = 1;
public HelloB() {
Thread thread = new Thread() {
public void run() {
for (int j=0;j<20;j++) {
HelloB.this.run();//调用外部类的方法
try {
sleep(1000);
} catch (InterruptedException ie) {
}
}
}
}; // 注意这里有分号
thread.start();
}
public void run() {
System.out.println("i = " + i);
i++;
}
public static void main(String[] args) throws Exception {
new HelloB();
}
}
4.在构造函数中,通过this可以调用同一类中别的构造函数。如:
public class Test{
private static String b = "dsd";
public Test(){
this(b);
}
public Test(String a){
System.out.println(a);
}
}
5.this同时传递多个参数
public class TestClass {
int x;
int y;
static void showtest(TestClass tc) {//实例化对象
System.out.println(tc.x + " " + tc.y);
}
void seeit() {
showtest(this);
}
public static void main(String[] args) {
TestClass p = new TestClass();
p.x = 9;
p.y = 10;
p.seeit();
}
}