构造函数错误

时间:2011-08-31 12:28:53

标签: java

我被告知在创建新对象时,它需要具有与其构造函数相同的参数。我试过,但我仍然得到这些错误。找不到符号s1.getCourse s1.getName s1.getAge。还有一个无效的构造函数错误。继承我的代码

    public class Person{ 
    private String name;
    private int age;

    public Person(String name, int age){
    this.name=name;
    this.age=age;
    }
    public String getDetails(){
    return "Name: " + name + "Age: " + age;
    }

    public void setName(String name){
    this.name=name;
    }
    public void setAge(int age){
    this.age=age;
    }

public String getName(){
return name;
}
public int getAge(){
return age;
}
        public class Student extends Person{
           private String course;

           public Student(String name, int age,String course){
               super(name,age);
               this.course = course;
           }
           public String getDetails(){
               return super.getDetails()+"Course: "+ course;
           }
           public void setCourse(String course){
               this.course=course;
           }
           public String getCourse(){
               return course;
           }

           public String getName(){
               return name;
           }
        }

       public String getAge(){
          return age;
       }
    }

TestPerson

    student++;
    String name=array[0];
    int age=Integer.parseInt(array[1]);
    String course=array[3];
    Student s1= new Student(name,age,course);


    System.out.println("name "+s1.getName());
    System.out.println("age "+ s1.getAge());
    System.out.println("course: " + s1.getCourse());

    }
 }

1 个答案:

答案 0 :(得分:0)

更多详情可以提供Person类。

您尚未在学生班级中提供姓名和年龄属性。 如果所有这些都存在于超类中,那么当你调用s1.getName()方法时,它将从学生类调用。因为它存在于子类,即学生