我正在研究这个问题,不能这样做,并不确定是否我甚至不明白什么方法超载真的是。任何人都可以解释它是什么(因为我在网上找到的资源不是很好),并且可能修复我所犯的错误?产品方法超载(这是上次询问的同一个人)
的问题是:重载产品的方法,以允许其他类型的值相乘:
两个双打 一个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