Java:在基类方法中使用实例类的静态变量

时间:2016-08-10 21:11:17

标签: java

我有一个抽象类,它有一个静态最终变量和一个定义引用该变量的实例方法,我有一个非抽象类,它扩展了该类并覆盖了变量:

AClass.java

public abstract class AClass {
    static final int number = 1;

    public void meth(){
        System.out.println(number);
    }
}

IClass.java

public class IClass extends AClass{
    static final int number = 2;
}

我希望meth()打印实际对象的类number,但是当我用IClass对象调用它时,我总是{{1}不管它是如何定义的:

1

我添加了一个覆盖,将超级电话调用AClass o1 = new IClass(); o1.meth(); // 1 IClass o2 = new IClass(); o2.meth(); // 1 new IClass().meth(); // 1 ,但这没有帮助:

IClass.java

IClass

我还在public class IClass extends AClass{ static final int number = 2; @Override public void meth(){ super.meth(); } } 中尝试了this

AClass.java

meth()

这可以在没有完全重写 IClass.java 中的方法的情况下完成吗?

0 个答案:

没有答案