【发布时间】:2016-07-20 22:20:35
【问题描述】:
最近刚开始学习java,在我的教科书中我遇到了this,一开始很困惑,但现在它开始变得有意义了。现在,在我的书中,我们
开始了构造函数的基本应用程序,并作为页面上的注释this,也可用于调用其他构造函数。我当时有点迷茫
看看关于this的其他问题。我想我现在已经达到了一定程度,但我为什么要这样做呢?考虑一下我刚刚编造的以下内容。
private double balance;
private double interest;
public Account(double initialBalance){
balance = initialBalance;
}
public Account(double balance, double interest){
this(0);
balance = initialBalance;
this.interest = interest;
}
这里this(0);,据我了解寻找另一个带有一个参数的构造函数,找到Account(double initialBalance),并将initialBalance 设置为零。
伟大的。嗯,但我为什么不直接这样做呢?只需将余额设置为零!我确信它非常有用,但我想不出任何例子。
谢谢!
【问题讨论】:
-
不管你是不是这样写,你总是这样。 a(ny) 构造函数的第一条语句是调用父类的构造函数
-
@Stultuske 这与父类无关。没有双关语。
-
@Zircon:调用另一个构造函数......这基本上就是我所描述的。如果它来自同一个班级,那么他发布的代码要么不是他书中的代码,要么他们用它作为不应该做的例子,或者这是一本糟糕的书。
-
当然,如果你在构造函数中所做的只是简单的赋值,那并没有太大的区别,但是如果你的构造函数更复杂(例如参数验证)怎么办?您不希望在多个构造函数中编写相同的代码。
标签: java