Java无法从学生转换为学生[]

时间:2011-10-31 23:26:42

标签: java arrays class

嘿伙计我可以从这个java项目得到一些帮助我的问题是这一行学生s =新学生(r.getChar(),r.getChar(),r.getNum(),r.getNum());我想让它成为一个数组,但如果我试图取代学生的惠特学生s [i] =新学生(r.getChar()........)我得到一个错误告诉我,我不能从学生转换给学生[]我有一个解决方案,使它成为一个阵列

别介意r.getChar()

public class Student extends Person {
  private int grade;
  public Student(String name, String address, int age, int grade) {
    super(name, address, age);
    this.grade = grade;
  }

  public void setGrade(int grade){
    this.grade = grade;
  }

  public int getGrade(){
    return grade;
  }
}

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

  public Person(String name,String address,int age){
    this.name = name;
    this.address = address;
    this.age = age;
  }

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

  public void setAddress(String address){
    this.address = address;
  }

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

  public String getName(){
    return name;
  }

  public String getAddress(){
    return address;
  }

  public int getAge(){
    return age;
  }
}

3 个答案:

答案 0 :(得分:4)

以下是如何创建Student s:

的数组
Students allStudents[] = new Students[x];

这将创建一个x元素数组,所有元素都初始化为null。然后你会在循环中初始化每个元素:

allStudents[i] = new Student(...);

答案 1 :(得分:0)

你想要一个只有1个元素的数组吗? 在这种情况下,您需要先分配数组,然后分配对元素编号0的引用。

喜欢的东西 学生[] s =新学生[1]; //分配数组 s [0] = new Student(...)//正常构造函数调用

答案 2 :(得分:0)

除了第一种答案方式,您可以使用短符号:

Student students[] = {new Student(..)};

这是同样的事情,但有点短。