3 回答

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超10個(gè)贊
您可以使用方法重載。
public double proximitySensorAdjusted(int value) {
double finalValue;
if(value == -1) {
finalValue = adjustment;
} else {
finalValue = value + adjustment;
}
return finalValue;
}
public double proximitySensorAdjusted() {
return proximitySensorAdjusted(-1); //call with some default value
}
現(xiàn)在您可以調(diào)用sensorValue.proximitySensorAdjusted();.

TA貢獻(xiàn)1803條經(jīng)驗(yàn) 獲得超6個(gè)贊
而不是???
您需要指定任何整數(shù)值,例如0
or 5
。在您的示例中int value
是一個(gè)參數(shù)名稱。只有該函數(shù)內(nèi)的代碼才能訪問它。

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超13個(gè)贊
您可以使用選項(xiàng),這與簡單地重載您的函數(shù)沒有什么不同,正如這里建議的另一個(gè)答案。
public class proximitySensor {
double adjustment = 5;
public double proximitySensorAdjusted(Optional<Integer> value) {
double finalValue = value.map(v -> v + adjustment)
.orElseGet(() -> {
... // Do something intelligent here
});
return finalValue;
}
}
現(xiàn)在您使用以下命令調(diào)用該函數(shù):
sensorValue.proximitySensorAdjusted(Optional.empty());
作為旁注,Java 中類名的命名約定是Capitalized,因此您的proximitySensor類應(yīng)該被稱為ProximitySensor。
添加回答
舉報(bào)