繁体   English   中英

Java继承的变量返回null

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

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