Java中的基本继承帮助

Java中的基本继承帮助,java,Java,我是Java新手,我正在努力增长我的知识。我目前正忙于一项涉及基本继承的任务。这是我的代码,我的输出将使用不同的名称进行测试。我好像一点胎儿都没有。我查阅了关于Onheritance的视频,但没有一个对我的情况有帮助。我做错了什么 public class StudentDerivationFromPerson { public static void main (String [] args) { StudentData courseStudent = new Student

我是Java新手,我正在努力增长我的知识。我目前正忙于一项涉及基本继承的任务。这是我的代码,我的输出将使用不同的名称进行测试。我好像一点胎儿都没有。我查阅了关于Onheritance的视频,但没有一个对我的情况有帮助。我做错了什么

public class StudentDerivationFromPerson {
   public static void main (String [] args) {
      StudentData courseStudent = new StudentData();

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

   }
}
这是完整的代码

// ===== 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.setID());

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

方法
printAll
应在
StudentData
类中重写,使用调用
super.printAll()
重用和打印人员数据:

public class StudentData extends PersonData {
    private int idNum;

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

    public int getID() {
        return idNum;
    }

    @Override
    public void printAll() {
        super.printAll();
        System.out.println(", ID: " + idNum);
    }
}
然后是下面的例子

public class StudentDerivationFromPerson {
    public static void main (String [] args) {
        StudentData courseStudent = new StudentData();
        courseStudent.setName("Doe");
        courseStudent.setAge(21);
        courseStudent.setID(1001);
        courseStudent.printAll();
    }
}
印刷品:

Name: Doe, Age: 21, ID: 1001

请阅读并改写你的帖子。你好像忘了问一个问题。您遇到了什么问题?您的代码的行为与您预期的行为有何不同?在
StudentData
class中重写
printAll
方法是否有问题?Courses学生变量初始化为空。它不会打印任何东西。您正在println中调用setID。它是无用的,因为它返回无效。最重要的是,你的问题是什么?你想让我们做什么?验证你做了什么?解释?你没有在对象中放入任何数据。