K. *_*ter 6 java methods overloading dispatch
我对Java Overload Methods有疑问.
假设我有一个重载方法foo:
public static String foo(String x) {
return "foo-String: " + x;
}
public static String foo(Object x) {
return "foo-Object: " + x;
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能实现像这样的功能
public static String useString() {
return(foo("useString"));
}
public static String useObject() {
return(foo("useObject"));
}
Run Code Online (Sandbox Code Playgroud)
其中一个使用重载的字符串方法,一个是重载的对象方法?
foo-Method的调用应该使用String输入.(这意味着我不想和演员一起工作
return(foo((Object)"useObject"));
Run Code Online (Sandbox Code Playgroud)
也许你可以帮我解决这个问题
上面,只是练习的一个例子.我试图更好地理解Overloads和Dispatch,并且正在寻找用于调用(和选择)重载方法的替代解决方案.
如果我们暂时搁置其背后的动机并尝试回答直接问题,您可以创建一个对象引用而不是使用显式强制转换。
public static String useObject() {
Object obj = "useObject";
return foo(obj);
}
Run Code Online (Sandbox Code Playgroud)
虽然最终结果是相同的,但您可以避免使用此方法进行显式强制转换。
| 归档时间: |
|
| 查看次数: |
224 次 |
| 最近记录: |