我是Java的新手,所以我确信这是一个简单的问题(我的头脑正在全天学习)。这是我正在学习的代码,无法记住/弄清楚这行代码在做什么:
public Temperature(String type, double degrees) {
if (type.equalsIgnoreCase("C"))
这被视为构造函数吗?两个参数是什么"字符串类型,双度"在做什么? TIA。
这里是自上而下的代码:
public class Temperature {
private double degreesFahrenheit; // Fahrenheit temperature
private double degreesCelsius; // Celsius temperature
private double degreesKelvin; // Kelvin temperature
/** * This constructor for Temperature sets the temperature
* values to the value from degrees, based on the type *
* @param type temperature scale to use
* @param degrees degrees Fahrenheit
*/
public Temperature(String type, double degrees) {
if (type.equalsIgnoreCase("C"))
setDegreesCelsius(degrees);
else if (type.equalsIgnoreCase("F")) setDegreesFahrenheit(degrees);
else if (type.equalsIgnoreCase("K")) setDegreesKelvin(degrees);
...
答案 0 :(得分:0)
是的!这个:
public Temperature(String type, double degrees){
...
}
是一个构造函数。
基本上它被称为创建一个新的Temperature对象并在类中设置一些字段:
1)检查辩论type
是C
还是c
,F
还是f
,{{1} }或K
和
2)适当调用方法:k和setDegreesCelsius(degrees);
。
您尚未发布这些方法的代码,但最有可能的是:
如果输入为setDegreesFahrenheit(degrees);
,则为setDegreesKelvin(degrees);
赋予构造函数C
参数的值。
同样,degreesCelsius;
degree
和F
<{1}} {}}
这些方法的定义可能如下所示:
degreesFahrenheit;
希望这有帮助。
评论后更新:
K
构造函数只接受2个争论。一个degreesKelvin;
和一个setDegreesCelsius(double degrees){
this.degreesCelsius = degrees;
}
。那里有你可以创建public Temperature(String type, double degrees)
实例并设置一些fiels的值。
例如这段代码:
String
表示double
是Temperature
个对象,以Celcious量表计算,当前温度为35。
希望这更有意义