如何调用带有短参数的方法?
How can you call a method with short parameters?
我正在 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;
}
在我的主要方法中,我创建了一个对象:
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 方法而不是 int 方法。
传递参数时需要类型转换,使用:
public static void main(String[] args)
{
OverloadingSum obj1 = new OverloadingSum();
System.out.println(obj1.sum((short)3,(short)3));
}
整数文字隐式具有 int 类型,从 int 转换为 byte 或 short 可能会丢失信息,因此需要显式转换。
为此,您可以将参数显式转换为 short
s 以强制调用 short
方法。
例如,更改:
System.out.println(obj1.sum(3,3));
至:
System.out.println(obj1.sum((short) 3,(short) 3));
obj1.sum(3,3)
您需要转换值:
obj1.sum((short)3,(short)3)
或使用变量:
short v1 = 3;
short v2 = 3;
// ...
... obj1.sum(v1,v2)...
你可以试试这个
public static void main(String[] args) {
short x=3;
short y=3;
addShort(x,y);
}
public static void addShort(short a,short b)
{
short c=(short)(a+b);
}
除此之外,您需要在像这样传递它们时显式转换
addShort((short) 3,(short)3);
我正在 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;
}
在我的主要方法中,我创建了一个对象:
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 方法而不是 int 方法。
传递参数时需要类型转换,使用:
public static void main(String[] args)
{
OverloadingSum obj1 = new OverloadingSum();
System.out.println(obj1.sum((short)3,(short)3));
}
整数文字隐式具有 int 类型,从 int 转换为 byte 或 short 可能会丢失信息,因此需要显式转换。
为此,您可以将参数显式转换为 short
s 以强制调用 short
方法。
例如,更改:
System.out.println(obj1.sum(3,3));
至:
System.out.println(obj1.sum((short) 3,(short) 3));
obj1.sum(3,3)
您需要转换值:
obj1.sum((short)3,(short)3)
或使用变量:
short v1 = 3;
short v2 = 3;
// ...
... obj1.sum(v1,v2)...
你可以试试这个
public static void main(String[] args) {
short x=3;
short y=3;
addShort(x,y);
}
public static void addShort(short a,short b)
{
short c=(short)(a+b);
}
除此之外,您需要在像这样传递它们时显式转换
addShort((short) 3,(short)3);