丢失数组中的SuperClass属性 - Java

时间:2015-09-28 07:53:47

标签: java

我有一个扩展超类的类。在构造我的子类(Candidate)时,我在超类中有一些属性。我有一个名为Candidate的{​​{1}}测试类。

简短的故事是,我创建了一个具有各种属性的候选数组,然后我将该数组传递给一个方法。然后,该方法将通过数组并选择某些候选项,然后为这些候选项创建一个新的CandidateTest

现在,当我尝试打印这些候选项的某些值时,我会在超类中定义的属性上获得ArrayList返回,但是来自子类显示正常。

例如,我可以做

null

它会打印出我for(int i=0; i < googleCandidate.size(); i++){ System.out.println(googleCandidate.get(i).getCommunication()); } 所有通信值的值。但如果我这样做:

Candidate

System.out.println(googleCandidate.get(i).getFirstName()); 返回15行null

当我最初创建Candidate个对象时,它们有5个值传递给构造函数。但是,它们似乎忘记了超类中定义的值,只记得子类中定义的值。

1 个答案:

答案 0 :(得分:1)

当我创建子类的实例时,我忘记在超类中启动属性。我有这个代码:

 public AddressBook(String fn, String ln){       
}

当我改变它时,一切都有效:

 public AddressBook(String fn, String ln){
    firstName = fn;
    lastName = ln;
}