【发布时间】:2016-05-27 17:47:24
【问题描述】:
来自 php 世界的虚拟问题。在php中我会简单地做:
class myClass {
private $value; //can be anything. int, String, boolean, float
public function getValue() {
return $this->value;
}
}
假设我现在必须用 Java 编程,但我失败了:
public class myClass {
private int myInt;
private boolean myBoolean;
public int getValue() { return this.myInt; }
public boolean getValue() { return this.myBoolean }
}
除了getMyInt() 和getMyBoolean() 之类的命名方法之外,还有其他解决方法吗?
是的,我知道,Java 是强类型语言,我将永远知道返回值。
【问题讨论】:
-
你需要它做什么?
-
在java中对象可以是任何东西。在你的脑海里有类似的东西吗?使用时您仍然需要转换...或者您可能想要泛型...用例是什么?
-
你不能只在返回类型上重载一个函数。
-
@chepner,你的 IDE 也这么跟我说。这就是我要求解决的原因。
-
我不同意这是完全重复的。有诸如
public <T> T getValue(Class<T> cls) { ...之类的机制将近似于 OP 的要求。我可以取消重锤,但会等着看其他人是否同意它值得重新开放。
标签: java