黑马程序员技术交流社区
标题:
详解下this关键字
[打印本页]
作者:
luqh
时间:
2015-3-16 20:27
标题:
详解下this关键字
this关键字用在构造方法的第一行?
作者:
joker0day
时间:
2015-3-16 22:58
本帖最后由 joker0day 于 2015-3-17 12:53 编辑
下面的代码是我的学习笔记,应该能凑合看看。
class thisclass{
private int x;
private int number;
public void setnumber(int number){
this.number = number;
/*
这里是因为当局部变量与成员变量重复时使用this.number
表示哪个对象被调用该方法this就代表着该对象的引用
*/
}
//这里是构造函数,对象的初始化
thisclass(){
System.out.println("haha !!!");
}
//构造函数的重载
thisclass(int x){
this();
this.x = x;
}
public void run(){
System.out.println("x = " + x + "number = " + number);
}
}
public class thisdemo{
public static void main(String[] args){
/*
建立对象,这时对象已初始化
1.this();引用该对象的默认构造函数,输出 "haha !!!"
2.将参数x传入this.x也就是该对象的x变量
*/
thisclass t = new thisclass(3);
/*
调用对象的setnumuber方法,将参数number传入this.number也就是传入该对象的成员变量number
*/
t.setnumber(5);
//调用对象的run方法
t.run();
}
}
复制代码
如果将this();语句没放在第一行的话,就会出现
编译错误
:
错误: 对this的调用必须是构造器中的第一个语句
分析这句话有两个意思
1.this的调用必须在构造器中
2.必须在构造器的第一个语句
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2