将我自己的类的默认行为更改为输出值

时间:2013-06-05 00:03:18

标签: java operator-overloading java-6

我正在用Java创建一个迷你类:

public class ObjectInfo {
    public Object value = null;
    public Boolean isMax = null;
}

我想这样做,所以每当我调用一个实例时,这个类都会输出value

示例:

public final void testSomething() {
    ObjectInfo actual = new OjbectInfo(11f, true);
    assertEquals(11f, (Float) actual);
}

我想让课程如上所述,当我像上面那样调用actual时,它知道要提取value参数。

有没有办法做到这一点?

我还想做的是说

actual = 1234f

我希望Java知道将该值推送到value

actual = false

将其放入isMax

我知道这可以通过运算符重载在C ++中完成,但我似乎无法在Java上找到任何内容,至少在谷歌上...

2 个答案:

答案 0 :(得分:1)

不,Java没有用户可定义的运算符重载。

您可以做的最好的事情是添加asFloat()方法。

答案 1 :(得分:1)

你不能用Java做到这一点。相反,您应该添加setter和getter方法或要访问的属性。例如#setFloat(float value)和#getFloat()。然后写下这样的测试:

assertEquals( 11f, actual.getFloat() );