import java.util.*;
public class CrashJava{
public String toString(){
return "CrashJava address:"+this+"\n";
}
public static void main(String args[]){
Vector v=new Vector();
for(int i=0;i<10;i++)
v.addElement(new CrashJava());
System.out.println(v);
}
}java编程思想上说:"若只是简单的创建一个CrashJava对象,并将其打印出来,就会出现无穷无尽的一系列违例错误。然而,如果将CrashJava对象置入一个Vector,并像这里演示的那样打印Vector,就不会出现什么错误,此时java只是简单的崩溃"我的问题是:1)为什么简单的创建一个CrashJava对象,并将其打印出来,就会出现无穷无尽的一系列违例错误?CrashJava类里已经重写了toString方法啊。
2)为什么置入Vector后就不会了?
public class CrashJava{
public String toString(){
return "CrashJava address:"+this+"\n";
}
public static void main(String args[]){
Vector v=new Vector();
for(int i=0;i<10;i++)
v.addElement(new CrashJava());
System.out.println(v);
}
}java编程思想上说:"若只是简单的创建一个CrashJava对象,并将其打印出来,就会出现无穷无尽的一系列违例错误。然而,如果将CrashJava对象置入一个Vector,并像这里演示的那样打印Vector,就不会出现什么错误,此时java只是简单的崩溃"我的问题是:1)为什么简单的创建一个CrashJava对象,并将其打印出来,就会出现无穷无尽的一系列违例错误?CrashJava类里已经重写了toString方法啊。
2)为什么置入Vector后就不会了?
解决方案 »
- 代码问题???
- Cannot create JDBC driver of class '' for connect URL 'jdbc:mysql://127.0.0.1/my
- 高手给一个正则表达式
- unsupportedclassvertion
- 在JTable中使用ProgressBar有问题了
- 关于Applet中的双缓存,求教!
- 主建的生成问题
- 这是一个关于blank final variable的问题
- 请教一个VisualAge for java 4.0 企业版的安装问题
- 请问“thinging in java”的第一版和第二版有什么区别呀?
- 这个循环遍历怎么写?
- jdk1.4.2_16版的replace()及改文檔名
return "CrashJava address:"+this+"\n";
}
等价于public String toString(){
return "CrashJava address:"+this.toString()+"\n";
}这是无限递归啊,最终肯定StackOverflow
return "CrashJava address:"+this+"\n";
}同意3楼的说法,主要是这个this。
return "CrashJava address:"+this+"\n"; 还是会调用toString的!