abstract class Person
{
private String name;
private String addr;
private char sex;
private int age;
public abstract String getinfo();
private Person()
{
}
private person(String name,String addr)
{
this.setName(name);
this.setAddr(addr);
}
private person(String name,String addr,char sex,int age)
{
this.setName(name);
this.setAddr(addr);
this.setSex(sex);
this.setAge(age);
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public String getAddr()
{
return addr;
}
public void setAddr(String addr)
{
this.addr = addr;
}
public char getSex()
{
return sex;
}
public void setSex(char sex)
{
this.sex = sex;
}
public int getAge()
{
return age;
}
public void setAge(int age)
{
this.age = age;
}
}
class Student extends Person
{
private float math;
private float english;
public Student()
{
}
public Student(String name,String addr)
{
super(name,addr);
}
public Student(String name,String addr,char sex,
int age,float math,float english)
{
super(name,addr,sex,age);
this.setMath(math);
this.setEnglish(english);
}
public float getMath()
{
return math;
}
public void setMath(float math)
{
this.math = math;
}
public float getEnglish()
{
return english;
}
public void setEnglish(float english)
{
this.english = english;
}
public String getinfo()
{
return "学生信息:"+"\n"+
"\t|- 姓名:" + super.getName() + "\n" +
"\t|- 年龄:" + super.getAge() + "\n" +
"\t|- 地址:" + super.getAddr() + "\n" +
"\t|- 性别:" + super.getSex() + "\n" +
"\t|- 数学成绩:" + this.getMath() + "\n" +
"\t|- 英语成绩:" + this.getEnglish() ;
}
}public class Example003
{
public static void main(String[] args)
{
Person per = new Student("张三","北京",'男',12,95.6f,92.3f);
System.out.println(per.getinfo());
}
}各位高人给看看,上边代码哪里出了问题,在eclipse中提示如下错误java.lang.VerifyError: (class: Example003, method: main signature: ([Ljava/lang/String;)V) Incompatible object argument for function call
Exception in thread "main"
{
private String name;
private String addr;
private char sex;
private int age;
public abstract String getinfo();
private Person()
{
}
private person(String name,String addr)
{
this.setName(name);
this.setAddr(addr);
}
private person(String name,String addr,char sex,int age)
{
this.setName(name);
this.setAddr(addr);
this.setSex(sex);
this.setAge(age);
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public String getAddr()
{
return addr;
}
public void setAddr(String addr)
{
this.addr = addr;
}
public char getSex()
{
return sex;
}
public void setSex(char sex)
{
this.sex = sex;
}
public int getAge()
{
return age;
}
public void setAge(int age)
{
this.age = age;
}
}
class Student extends Person
{
private float math;
private float english;
public Student()
{
}
public Student(String name,String addr)
{
super(name,addr);
}
public Student(String name,String addr,char sex,
int age,float math,float english)
{
super(name,addr,sex,age);
this.setMath(math);
this.setEnglish(english);
}
public float getMath()
{
return math;
}
public void setMath(float math)
{
this.math = math;
}
public float getEnglish()
{
return english;
}
public void setEnglish(float english)
{
this.english = english;
}
public String getinfo()
{
return "学生信息:"+"\n"+
"\t|- 姓名:" + super.getName() + "\n" +
"\t|- 年龄:" + super.getAge() + "\n" +
"\t|- 地址:" + super.getAddr() + "\n" +
"\t|- 性别:" + super.getSex() + "\n" +
"\t|- 数学成绩:" + this.getMath() + "\n" +
"\t|- 英语成绩:" + this.getEnglish() ;
}
}public class Example003
{
public static void main(String[] args)
{
Person per = new Student("张三","北京",'男',12,95.6f,92.3f);
System.out.println(per.getinfo());
}
}各位高人给看看,上边代码哪里出了问题,在eclipse中提示如下错误java.lang.VerifyError: (class: Example003, method: main signature: ([Ljava/lang/String;)V) Incompatible object argument for function call
Exception in thread "main"
{}
private person(String name,String addr)
{
this.setName(name);
this.setAddr(addr);
}
private person(String name,String addr,char sex,int age)
{
this.setName(name);
this.setAddr(addr);
this.setSex(sex);
this.setAge(age);
}private 改成 public 试试
public Personprivate person(String name,String addr)
public Personprivate person(String name,String addr,char sex,int age)
public Person
{
public static void main(String[] args)
{
Person per = new Student("张三","北京",'男',12,95.6f,92.3f);
/*Person类中根本就没有Student子类的这个构造函数,在子类Student调用
public Student(String name,String addr,char sex,
int age,float math,float english)这个方法的时候它首先要调用父类的带有同样参数的构造函数,而如果没有的话它就会报错
*/
System.out.println(per.getinfo());
}
}修改办法:在父类中添加这个构造函数...