这个问题是关于重载方法,我想我理解基本的想法,但我得到一些奇怪的错误"Overloading.java:14".像我的问题是我不知道如何返回我的方法的两个参数.所以我想可能使用toString()将两个int参数转换为方法,然后返回它.有些事情发生了错误.输出必须遵循:
一个10
a和b 10,20
char a
结果97
我的问题是,"a和b 10,20",并没有完成"char a"只是为了让你们知道.这不是功课.到目前为止,我的代码包含一个主类和一个帮助器类:
OverMain类:
class OverMain {
public static void main(String args[]) {
Overload overload = new Overload();
int result;
System.out.println("a " + overload.test(10)); //prints a 10
System.out.println("a and b " + overload.test(10, 20)); //the method I have trouble with
result = overload.test('a'); //prints Result 97
System.out.println("Result " + result);
}
}
Run Code Online (Sandbox Code Playgroud)
重载类:
//The class which is suppose to overload test methods
class Overload {
public int test(int a) {
return a;
}
public String test(int a, int b) {
String string = "";
string = test(a, b).toString();
return string;
}
}
Run Code Online (Sandbox Code Playgroud)
目前还不是很清楚你要做什么,但你没有返回参数,我不认为重载确实是问题所在.要超越情境,你总是可以改变方法以使用不同的名称 - 让它以这种方式工作,然后你可以随时更改名称并解决任何冲突.
在你的情况下,我认为你只需要:
public String test(int a, int b) {
return a + ", " + b;
}
Run Code Online (Sandbox Code Playgroud)
换句话说,只要使用字符串连接,并自动int以String转换,编译器会为了使用字符串连接应用.
请注意,如果你的代码实际上编译,你会得到一个堆栈溢出,因为您所呼叫test(a, b)的test(int a, int b)-它只是称自己永远,直到你跑出来的堆栈空间.
| 归档时间: |
|
| 查看次数: |
255 次 |
| 最近记录: |