public class Atribut {
int classid;

@Override public String toString() {
return Integer.toString(classid);


}

}


我做了这个类,它重写了方法toString()。我计划制作许多具有不同classid的子类。问题是我不知道如何设置变量classid在toString方法中工作。

public class cas extends Atribut{
int classid=2;


}


问题是如果我创建一个cas对象和toString方法,它将返回“ 0”而不是“ 2”。

最佳答案

就像@java_mouse建议的一样,只需使用父类的变量。

public class Atribut {
    protected int classid;

    public Atribut() {
        classid = 0;
    }

    @Override
    public String toString() {
        return Integer.toString(classid);
    }
}

public class Cas extends Atribut{
    public Cas() {
        classid = 2;
    }
}


在构造函数中设置classid的值,然后就可以使用超类的toString()了。

10-07 22:23