繁体   English   中英

数组中丢失SuperClass属性-Java

[英]Losing SuperClass attributes in array - Java

我有一个扩展超类的类。 有一些属性是在我建设我的子类(当使用超类Candidate )。 我有一个测试类Candidate称为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

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

创建子类的实例时,我忘记了在超类中初始化属性。 我有以下代码:

 public AddressBook(String fn, String ln){       
}

当我将其更改为此时,一切正常:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM