黑马程序员技术交流社区
标题:
求解释。。。。。。。
[打印本页]
作者:
敗唫①輩ふ
时间:
2013-11-8 21:16
标题:
求解释。。。。。。。
class Test{
private int var;
public Test(){
}
public Test (int var){
this();//这个是构造函数,但是new Test(88)时,调用了两次构造函数,是不是
this.var = var;//创建了两个对象!不是说,构造函数是为特定对象初始化的吗???
}
}
作者:
Mr.Z.Lee
时间:
2013-11-8 21:26
package com.socket.all;
public class Test{
private int var;
public static void main(String[] args){new Test(88);}
public Test(){
System.out.println(this.var);
System.out.println( var);
}
public Test (int var){
this();//这个是构造函数,但是new Test(88)时,调用了两次构造函数,是不是
this.var = var;//创建了两个对象!不是说,构造函数是为特定对象初始化的吗???
System.out.println(this.var == var);
}
}
复制代码
你把var打印出来,你就可以明白自己的疑问,多看看基础java吧
作者:
中关村阿旺
时间:
2013-11-8 23:20
this();//这个是构造函数,但是new Test(88)时,调用了两次构造函数,是不是
这句话应该说调用了两个构造函数。因为new Test(88);显示调用带一个整型参数的构造方法,会调用public Test (int var)这个构造方法,而此构造方法的第一句:this();又显示调用的自身的空参构造方法,所以调用了两个构造函数。
this.var = var;//创建了两个对象!不是说,构造函数是为特定对象初始化的吗???
这句话有创建了两个对象吗??创建对象的关键字是new,通过new 类名(可以带参也可无参)这种方式才是创建对象!this.var=var;这句代码的作用只是给对象的成员变量赋值而已。
多看看java基础视频吧……
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2