[英]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.