本帖最后由 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.必须在构造器的第一个语句
|