重写java中的toString()方法
我在java的主类中有这个重写java中的toString()方法,java,methods,overriding,Java,Methods,Overriding,我在java的主类中有这个 public class Main { @Override public String toString(){ return "lol"; } public static void main(String[] args) { int aaa=0; System.out.println(aaa); } } 我想重写隐式调用的toString方法。 为什么输出为0不是lol
public class Main {
@Override
public String toString(){
return "lol";
}
public static void main(String[] args) {
int aaa=0;
System.out.println(aaa);
}
}
我想重写隐式调用的toString方法。
为什么输出为0不是lol
为什么输出为0不是lol
因为您正在打印一个整数,而不是该主类的实例
您可以执行以下操作
public class Main {
@Override
public String toString(){
return "lol";
}
public static void main(String[] args) {
// int aaa=0;
Main myMain = new Main();
System.out.println(myMain);
}
}
请注意,您可以这样做
System.out.println(myMain);
同
System.out.println(myMain.toString());
System.out.PRINTLN新干管;将输出lol。这里没有主类的实例。你没有把它叫做toString方法。你得到了intwhy输出为0而不是lol的结果,因为你打印了一个整数,而不是你的类。