Java继承变量返回null

Java继承变量返回null,java,object,inheritance,arraylist,null,Java,Object,Inheritance,Arraylist,Null,当我试图在子类中使用来自超类“arxiki”的变量时,它返回空值。基本上,我将对象存储在ArrayList中,并希望打印它们,因此使用toString()方法。我已经初始化了变量,在子类中使用了super(),所以我找不到有什么问题 public class arxiki{ private String onoma; private int pagio; public arxiki(String onoma, int pagio){ this.onoma=onoma; this.

当我试图在子类中使用来自超类“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”的子类

最后是打印ArrayList中对象的循环部分

Iterator <symvolaio> iterator = listasymvolaion.iterator();
            while (iterator.hasNext()){
                System.out.printf(listasymvolaion.get(k).toString());
                k++;
Iterator Iterator=listasymvolion.Iterator();
while(iterator.hasNext()){
System.out.printf(listasymvolion.get(k.toString());
k++;

从子类调用的构造函数如下所示:

public arxiki(String onoma){
}
这显然缺少赋值,将其添加到构造函数的主体中:

 this.onoma=onoma;

您正在呼叫超级(onoma),但请看一下该构造函数的功能……谢谢!请注意,除非成员变量确实需要可变,否则最好将其设置为最终变量。这样您就可以确保始终对其进行初始化。无关:阅读java命名约定。类名以大写字母开头;始终。并使用@Override注释对覆盖某些内容的方法的定义。“不相关”-“不相关,但非常重要。
 this.onoma=onoma;