【发布时间】:2015-11-18 06:29:28
【问题描述】:
我正在用 java 做一个关于重载、覆盖和接口的作业。 其中一个部分要求我创建重载方法,包括 short、int、float 和 double。这些方法只需要对数字求和,很简单。
这是我卡住的地方:
public short sum(short x, short y)
{
System.out.println("I'm method on line 10");
return x+y;
}
我有这个方法,eclipse 通过建议我做一个 (int) 类型转换来不断标记。如果我这样做了,就会破坏这项任务的目的。所以在做了一些谷歌搜索之后,我写了这个:
public short sum(short x, short y)
{
System.out.println("I'm method on line 10");
short t = (short)(x+y);
return t;
}
在我的 main 方法中,我创建了一个对象:
public static void main(String[] args)
{
OverloadingSum obj1 = new OverloadingSum();
System.out.println(obj1.sum(3,3));
}
所以,当我运行它时,它会告诉我它对值 (3,3) 使用了 int sum(int x, int y) 方法,而不是我希望它使用的 short sum 方法。我的问题是我可以测试哪些数字以便调用 short 方法而不是 int 方法。
【问题讨论】:
-
例如使用
Short.valueOf("3")(但使用short通常是个坏主意) -
@RC。没有和没有。不需要使用字符串字面量,就是浪费,这不是实例化
Short对象的问题。
标签: java methods overloading short