利用this关键字来调用构造方法,只有在无参数构造方法中第一句使用this调用有参数的构造方法。
this关键字的三个作用,一个是调用本类里的属性,一般就如this.name=name;第二个就是调用本类中的方法,包括普通方法和构造方法,调用普通方法时在this后添加方法名,调用构造方法时,只需要在this中放入对应的参数就行;第三个就是调用当前对象,也就是调用当前类,将当前类作为一个结果或者参数传递出去。
第三种调用当前对象的代码示例如下:
package com.qianfeng.OOTest;
/**
* 对this关键字中的this对当前对象的引用的测试
* 在A中将A这个对象传递给B
* A中有个pi方法。
* @author littledyf
*
*/
public class ThisOfA {
public ThisOfA(){
new ThisOfB(this).p();
}
public void pi(){
System.out.println("我是A对象");
}
}
package com.qianfeng.OOTest;
/**
* 在B中创建一个含参构造方法,类型为A,然后定义一个类型为a的变量,用this.a接收传递过来的A对象
* 然后在B的p方法中进行输出调用操作。
* @author littledyf
*
*/
public class ThisOfB {
ThisOfA a;
public ThisOfB(){
}
public ThisOfB(ThisOfA a){
this.a = a;
}
public void p() {
// TODO Auto-generated method stub
System.out.println("我是B");
System.out.println(this.a);
this.a.pi();
}
}
package com.qianfeng.OOTest;
import org.junit.Test;
public class ThisTest {
@Test
public void t(){
new ThisOfB(new ThisOfA());
}
}