程序如下:class Person{
private String name;
private String location;
Person(String n,String l){
name = n;
location = l;
}
Person(String n){
name = n;
location = "beijing";
}
public String info() {
return "name=" + name + ",location=" + location;
}
}class Teacher extends Person{
private String title;
Teacher(String n, String l, String t){
super(n,l);
title = t;
}
Teacher(String n,String t){
this(n,"beijing",t);
}
public String info() {
return super.info() + ",title=" + title;
}
}
public class TestTeacher{
public static void main(String[] args){
Teacher t1 = new Teacher("A","professor");
System.out.println(t1.info());
}
}编译可以通过.但是运行时却出现
"Exception in thread "main" java.lang.NoSuchMethodError:Person.<init>(Ljava/lang/String; Ljava/lang/String;)V
at Teacher.<init>(TestTeacher.java23)
at Teacher.<init>(TestTeacher.java28)
at TestTeacher.main(TestTeacher.java38)."
我看了觉得是person类出了问题..看提示应该是构造函数?但是因为是新手..查了好几遍都没查出原因..望高手们告诉我错在哪里了...万分感谢....
private String name;
private String location;
Person(String n,String l){
name = n;
location = l;
}
Person(String n){
name = n;
location = "beijing";
}
public String info() {
return "name=" + name + ",location=" + location;
}
}class Teacher extends Person{
private String title;
Teacher(String n, String l, String t){
super(n,l);
title = t;
}
Teacher(String n,String t){
this(n,"beijing",t);
}
public String info() {
return super.info() + ",title=" + title;
}
}
public class TestTeacher{
public static void main(String[] args){
Teacher t1 = new Teacher("A","professor");
System.out.println(t1.info());
}
}编译可以通过.但是运行时却出现
"Exception in thread "main" java.lang.NoSuchMethodError:Person.<init>(Ljava/lang/String; Ljava/lang/String;)V
at Teacher.<init>(TestTeacher.java23)
at Teacher.<init>(TestTeacher.java28)
at TestTeacher.main(TestTeacher.java38)."
我看了觉得是person类出了问题..看提示应该是构造函数?但是因为是新手..查了好几遍都没查出原因..望高手们告诉我错在哪里了...万分感谢....
那就只能说是环境问题了,去检查一下JAVA_HOME、CLASS_PATH等的配置吧
"Exception in thread "main" java.lang.NoSuchMethodError:Person. <init>(Ljava/lang/String; Ljava/lang/String;)你这个出错很奇怪啊。按道理应该是java.lang.String,但是怎么会是Ljava/lang/String,怀疑你的
jdk问题。
但是今天早上自己写这个程序的时候就提示出错了...
刚刚好好的查了下环境变量...发现并没有错误....
JAVA_HOME..我倒是没设..不过在PATH里设置的...不设置这个无法运行java这个命令吧?
看来是自己JDK的问题了...