我有一个程序,需要编写一个类文件来使其运行,并且我不能更改原始程序(一个Java文件)。
我无法更改的Java文件实例化了该类的几个版本,可以这样说:
CrazyClass crazy1 = new CrazyClass();
CrazyClass crazy2 = new CrazyClass();
CrazyClass crazy3 = new CrazyClass();
//more code follows
然后,在那些新实例化的类中设置变量,如下所示:
crazy1.var1 = 6;
crazy2.var1 = 7;
crazy3.var1 = 8;
//more code follows
后来,程序实际上在println语句中调用了这些实例化的类,如下所示:
System.out.println(crazy1);
并希望弹出一条消息。
我的问题是我该如何实现?我是否完全以为必须实例化的类不能具有返回值呢?我只能认为我需要一个类内部的方法来返回消息并被自动调用,类似于main但不是静态的。我是朝正确的方向前进还是完全偏离基地?请注意,我整天都在读书,我担心此时看不到森林。我肯定这很简单。
先感谢您。
最佳答案
您将要覆盖Object.toString()
。
在上面的打印语句中,println()
方法内部调用给定对象上的toString()
方法。可以重写此方法以返回有意义的内容。例如:
@Override
public String toString(){
return "My var1-field has a value of: "+this.var1;
}