gpt4 book ai didi

java - Java中的静态变量继承

转载 作者:搜寻专家 更新时间:2023-11-01 04:02:13 24 4
gpt4 key购买 nike

public class Base{
protected String str;

public static final Base ERROR = new Base("error");
...
}

public class Derived extends Base{
public static final Derived OTHER = new DERIVED("other");
public Derived(String str) {
super(str);
}
}

Derived page = Derived.OTHER; //OK
page = (Drived)Derived.ERROR; //ClassCastException

那么我可以将静态成员变量从 Base 转换为 Derived 类吗?

最佳答案

你不能。

无法将 Derived.ERROR 转换为 Derived,因为它不是 Derived 的实例。它是 Base 的一个实例。

认识到 Base.ERRORDerived.ERROR 是引用同一对象的两种方式可能有助于消除混淆。

关于java - Java中的静态变量继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9175475/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com