继承n个静态变量

时间:2010-02-11 09:39:14

标签: java inheritance

子类的超类的静态变量是否可用。 即我的意思是超类的静态变量可以在不使用类名的情况下在子类中访问而不创建对象。

3 个答案:

答案 0 :(得分:3)

相同的可见性约束适用于静态和非静态变量。所以这是可能的:

public class SuperClass {
    /*
     * public would also work, as would no modifier 
     * if both classes are in the same package
     */
    protected static String foo;
}

public class SubClass extends SuperClass {
    public void modifyFoo() {
        foo = "hello";
    }

    public void modifySuperFoo() {
        /*
         * does the exact same thing as modifyFoo()
         */
        SuperClass.foo = "hello";
    }
}

答案 1 :(得分:2)

超级课程:

public static int staticVarName = 42;

在子课程中:

System.out.println("value: " + ClassName.staticVarName);

答案 2 :(得分:2)

静态变量/方法的重点在于您无需创建类的实例即可访问它们。