我正在研究這個問題,不能這樣做,並不確定是否我甚至不明白什麼方法超載真的是。任何人都可以解釋它是什麼(因爲我在網上找到的資源不是很好),並且可能修復我所犯的錯誤?產品方法超載(這是上次詢問的同一個人)
的問題是:重載產品的方法,以允許其他類型的值相乘:
兩個雙打 一個int和雙 一個雙鍵和一個int 3整數 三項雙打
我收到錯誤說: - 可能有損從雙倍轉換爲int(第13,16,19) - 產品2 /產品3已被定義 - 方法期望類型int,int和類型int,int,int (第17行)
public class Product extends ConsoleProgram
{
public void run()
{
int intValue = 5;
double doubleValue = 2.5;
int product1 = product(intValue, intValue);
System.out.println(product1);
// Use method overloading to define methods
// for each of the following method calls
double product2 = product(doubleValue , doubleValue);
System.out.println(product1);
int product3 = product(intValue * intValue, intValue);
System.out.println(product1);
double product4 = product(intValue, doubleValue);
System.out.println(product1);
double product5 = product(doubleValue, intValue);
System.out.println(product1);
double product6 = product(doubleValue *doubleValue, doubleValue);
System.out.println(product1);
}
public int product(int one, int two)
{
return one * two;
}
}
謝謝你們
所以基本上,如果我想重載INT產品1 =產品(的intValue,的intValue); ,我將不得不寫int product 1 = product(doubleValue,doubleValue)?? – CodingBat
那種,我會編輯我的例子,以便通過一個例子來清楚! – Ian
謝謝,你能解釋一下「從double到int的可能的有損轉換」嗎? double product2 = product(doubleValue,doubleValue);這是我寫的代碼,它向我展示了這個錯誤消息。 – CodingBat