[英]Java inherited variable returns null
当我尝试在子类中使用超类“arxiki”中的变量时,它返回空值。 基本上我将对象存储在 ArrayList 中,我想打印它们,所以我使用 toString() 方法。 我已经初始化了变量,在子类中使用了 super() 所以我找不到问题所在。
public class arxiki{
private String onoma;
private int pagio;
public arxiki(String onoma, int pagio){
this.onoma=onoma;
this.pagio=pagio;
}
public arxiki(){
}
public arxiki(String onoma){
}
public String getOnoma(){
return onoma;
}
public int getPagio(){
return pagio;
}
public String toString() {
return "\nOnoma: "+getOnoma();
}
“arxiki”的子类
public class symvolaio extends arxiki{
private int kodikos;
private String onomateponimo;
private String tilefono;
private String imerominia;
private String troposexoflisis;
public symvolaio(String onoma,int kodikos, String onomateponimo, String tilefono, String imerominia, String troposexoflisis){//symvolaioconstructor
super(onoma);
this.kodikos=kodikos;
this.onomateponimo=onomateponimo;
this.tilefono=tilefono;
this.imerominia=imerominia;
this.troposexoflisis=troposexoflisis;
}
public symvolaio(int kodikos){
}
public int getKodikos(){
return kodikos;
}
public String getOnomateponimo(){
return onomateponimo;
}
public String getTilefono(){
return tilefono;
}
public String getImerominia(){
return imerominia;
}
public String getTroposexoflisis(){
return troposexoflisis;
}
public String toString(){
return super.toString()+", Kodikos: "+getKodikos()+", Onomateponimo: "+getOnomateponimo()+", Tilefono: "+getTilefono()+", Imerominia Enarxis: "+getImerominia()+", Tropos Exoflisis: " + getTroposexoflisis();
}
}
最后是循环的一部分,其中打印 ArrayList 中的对象
Iterator <symvolaio> iterator = listasymvolaion.iterator();
while (iterator.hasNext()){
System.out.printf(listasymvolaion.get(k).toString());
k++;
您从子类调用的构造函数如下所示:
public arxiki(String onoma){
}
显然缺少赋值,将其添加到构造函数的主体中:
this.onoma=onoma;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.