2

java n00b 在这里。

我有一个这样定义的自定义数据类型:

public class MyData{
    int value;
    int type;
    String name;

    public MyData(int newValue, int newType, string newName)
    {
        value = newValue;
        type  = newType;
        name  = newName;
    }
}

当我调用此类的实例时,我希望它评估 value 属性,如下所示:

myData dataInstance = new myData(100,3,"customData");
System.out.println(dataInstance); // should print "100"

这可以实现吗?

4

1 回答 1

7

当您使用System.out.println对象时,它将调用该toString()方法 - 所以您只需要覆盖它:

@Override public String toString() {
    return String.valueOf(value);
}

另请注意,您应该更具体地使用您的术语。当你写道:

当我调用这个类的一个实例时

……这并不意味着什么。您不调用实例 - 您调用实例的方法。在这种情况下,方法是toString

于 2013-03-18T13:21:58.960 回答