public class StrungOut{
public static void main(String[] args){
String s = new String("Hello world");
System.out.println(s);
}
}
class String{
private java.lang.String s;
public String(java.lang.String s){
this.s = s;
}
public java.lang.String toString(){
return this.s;
}
}
|
以上程序自定义了一个String类,这个String与java.lang.String同名。以上程序能成功编译,但是运行时报错:不能找到Main方法。什么原因了? 问题归结到自定义的String类。由于自定义的String与java.lang.String 同名,传递给main方法的String[]数组是自定义的String类的数组,而不是java.lang.String类型数组。所以运行时找不到Main了。
教训: 自定义类最好别与库类同名。
阅读(371) | 评论(0) | 转发(0) |