Java中的基本继承

问题描述 投票:1回答:1

如果这个问题以前有人回答过,我很抱歉,不过我搜索的时候没有找到类似的问题。

我目前正在学习和做一个课堂上的练习。我能够得到一个类似于我所需要的打印输出,但是数据没有填充测试输入。姓名返回为空,年龄:0,ID:0。

下面是这样的情况。

把CourseStudent的名字赋为Smith,年龄赋为20,ID赋为9999。使用printAll成员方法和一个单独的println语句来输出courseStudents的数据。从给定的程序中输出示例。

Name. Smith, Age: 20, ID: 9999: Smith, 年龄: 20, ID: 9999

// ===== Code from file PersonData.java =====
public class PersonData {
   private int ageYears;
   private String lastName;

   public void setName(String userName) {
      lastName  = userName;
   }

   public void setAge(int numYears) {
      ageYears = numYears;
   }

   // Other parts omitted

   public void printAll() {
      System.out.print("Name: " + lastName);
      System.out.print(", Age: "  + ageYears);
   }
}
// ===== end =====

// ===== Code from file StudentData.java =====
public class StudentData extends PersonData {
   private int idNum;

   public void setID(int studentId) {
      idNum = studentId;
   }

   public int getID() {
      return idNum;
   }
}
// ===== end =====

// ===== Code from file StudentDerivationFromPerson.java =====
public class StudentDerivationFromPerson {
   public static void main (String [] args) {
      StudentData courseStudent = new StudentData();

      courseStudent.printAll();
      System.out.println(", ID: " + courseStudent.getID());

   }
}
// ===== end =====

我确信我忽略了一些简单的东西,但我不确定是什么。我的代码就是最后几行。

courseStudent.printAll();
System.out.println(", ID: " + courseStudent.getID());
java
1个回答
0
投票

我想你还没有尝试将args分配到实例中去 课程学生 你刚刚启动的。你可以试试这个,看看是否有效。

      // Assumming your input is in this form : <name> <age> <student_id>
      // For example: Adam 19 4000
      StudentData courseStudent = new StudentData();

      // We get the args and convert them with the appropriate types
      String name = args[0];
      int age = String.parseInt(args[1]);
      int id = String.parseInt(args[2]);

      // We assgin the values into `courseStudent`
      courseStudent.setName(name);
      courseStudent.setAge(age);
      courseStudent.setID(id);

      courseStudent.printAll();
      System.out.println(", ID: " + courseStudent.getID());
© www.soinside.com 2019 - 2024. All rights reserved.