【发布时间】:2020-08-14 20:21:11
【问题描述】:
我发现我可以做到:
public class Message {
public static final int MIN_BYTES = 5;
}
...并将此类设置为另一个类的父类,并将相同的常量设置为另一个值,例如:
public class Ack extends Message {
public static final int MIN_BYTES = 1;
}
由于编译器没有抱怨,这让我想到了上面的问题:
- 这些变量真的一样吗?
- 我会说它是最具体的,所以在这种情况下来自 Ack 类。这是真的吗?
- 常量的值不能改变(它是最终的),所以如果问题 1 为真,那怎么可能?
谢谢!
【问题讨论】:
-
这是两个独立的静态字段,单独存在。您不能覆盖静态成员。
标签: java