有没有一种方法可以覆盖Java中的类变量?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (40)
class Dad
{
    protected static String me = "dad";

    public void printMe()
    {
        System.out.println(me);
    }
}

class Son extends Dad
{
    protected static String me = "son";
}

public void doIt()
{
    new Son().printMe();
}

函数可以打印"dad",有没有办法让它印上"son"?

提问于
用户回答回答于

是的。

class Son extends Dad {
    static { 
       me = 'son'; 
    }
}

或者更改构造函数。

用户回答回答于
public class Person {
    private String name;

    public Person(String name) {
        this.name = name;
    }

    public void printName() {
        System.out.println(name);
    }
}

扫码关注云+社区

领取腾讯云代金券