华育的JAVA笔试题!

来源:百度知道 编辑:UC知道 时间:2024/09/20 14:54:00
public class Main {

public static void main(String[] args) {

System.out.println(new Main());

}
public String toString(){
return "I am"+this;
}

}
我运行错误,怎么回事?

这种错误确实不容易发现,不过this是指Main类的对象, 如果只是打印会调用toString(); 所以形成了递归。

运行错误?你是死循环了吧。
因为System.out.println回去调用toString的方法,现在你复写了toString,却又加上了,this,然后他又去调用自己的toString方法了,then一遍又一遍,then StackOverFlow or OutOfMemory

StackOverFlow
死循环
opensky010 正解。。。