为什么不能在静态变量中访问 Final 变量。 在编译时,它们只是简单地替换为直接替换为它们的值 因此,即使在静态方法中也应该允许使用它们
为什么有这个限制???
最佳答案
静态 = 在类中。
final = 不会改变它的值(但如果它不是静态的,它就是每个实例的值)。
例如,您可以这样做:
public class Weird
{
private static long number = System.getTimeInMilis();
private final long created = System.getTimeInMilis();
}
每次创建 Weird 对象时,它都会包含不同的创建值。
但是 Weird.number 的值将是类加载的时间。
关于java - 最终变量的可访问性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2059773/