关于构造函数的重载:
一个类的构造函数之间可以相互调用。当一个构造函数调用另一个构造函数时,可以使用关键字this,同时这个调用语句应该是整个构造函数的第一个可执行语句。D200_Card()
{
}D200_Card(long cn)
{
this();
cardNumber=cn;
}D200_Card(long cn,int pw)
{
this(cn);
password=pw;
}D200_Card(long cn,int pw,double b)
{
this(cn,pw); // --------------> 问题:用this就能使类中的域“对号入坐”吗?JAVA是如何做的?
balance=b; // ---------------> 这句话应当如何理解?
}小弟新学JAVA两天的时间,请各位大侠不要见笑。请不吝赐教:)谢谢!!!答:
一个类的构造函数之间可以相互调用。当一个构造函数调用另一个构造函数时,可以使用关键字this,同时这个调用语句应该是整个构造函数的第一个可执行语句。D200_Card()
{
}D200_Card(long cn)
{
this();
cardNumber=cn;
}D200_Card(long cn,int pw)
{
this(cn);
password=pw;
}D200_Card(long cn,int pw,double b)
{
this(cn,pw); // --------------> 问题:用this就能使类中的域“对号入坐”吗?JAVA是如何做的?
balance=b; // ---------------> 这句话应当如何理解?
}小弟新学JAVA两天的时间,请各位大侠不要见笑。请不吝赐教:)谢谢!!!答:
一个类的构造函数之间可以相互调用。当一个构造函数调用另一个构造函数时,可以使用关键字this,同时这个调用语句应该是整个构造函数的第一个可执行语句。D200_Card()
{
}D200_Card(long cn)
{
this();
cardNumber=cn;
}D200_Card(long cn,int pw)
{
this(cn);
password=pw;
}D200_Card(long cn,int pw,double b)
{
this(cn,pw); // --------------> 问题:用this就能使类中的域“对号入坐”吗?JAVA是如何做的?
balance=b; // ---------------> 这句话应当如何理解?
}小弟新学JAVA两天的时间,请各位大侠不要见笑。请不吝赐教:)谢谢!!!答:
一个类的构造函数之间可以相互调用。当一个构造函数调用另一个构造函数时,可以使用关键字this,同时这个调用语句应该是整个构造函数的第一个可执行语句。
第二个问题,balance=b;balance可能是你这个类里的一个成员变量,这句话负责初始化它。就和cardNumber=cn;的含义一样。
例如
D200_Card(long cn)
{
this();
cardNumber=cn;
}
等价于
D200_Card(long cn)
{
this();
this.cardNumber=cn;
}
在类中调用该类的某方法时
this.somemethod();
构造函数只是省略了方法名而已
然后由this(para1,para2)中的para1,para2来决定调用那个构造函数
您的第一个解释我不明白,除了这个用THIS()的构造函数以外还有别的吗?
D200_Card(long cn,int pw,double b)
{
this(cn,pw);
balance=b;
}
怎么知道他和父类的属性相对应赋值的?
(cn 是 connectNumber , pw 是password ,b 是balance属性)
JAVA会不会把cn-->password ,pw-->connectNumber ???
这样不就产生交叉赋值错误了吗?
我不知道JAVA会怎么处理这个赋值?