Mat*_*sen 2 java getter-setter
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;
}
}
Run Code Online (Sandbox Code Playgroud)
当我调用这个类的实例时,我希望它计算value属性,如下所示:
myData dataInstance = new myData(100,3,"customData");
System.out.println(dataInstance); // should print "100"
Run Code Online (Sandbox Code Playgroud)
这可以实现吗?
当你使用System.out.println一个对象时,它将调用该toString()方法 - 所以你只需要覆盖它:
@Override public String toString() {
return String.valueOf(value);
}
Run Code Online (Sandbox Code Playgroud)
另请注意,您的术语应该更具体.你写的时候:
当我调用这个类的实例时
......这并不意味着什么.您不调用实例 - 您在实例上调用方法.在这种情况下,方法是toString.