【发布时间】:2012-10-16 22:37:51
【问题描述】:
我在阅读 Java 中的静态方法和变量时发现以下两篇关于堆栈溢出的文章。
Are static methods in Java always resolved at compile time? 这就是说,静态方法是在编译时解析的。
when is static variable loaded in java, runtime or compile time?时间或编译时间
也就是说,静态方法是在编译时加载的。
编译器在解析静态变量/方法时是否应该加载它们(比如在编译时)? 令人困惑!有人可以澄清一下吗?
【问题讨论】:
-
确实如此。两个答案都只说
Compile-Time。你对什么感到困惑? -
如果你想在真正需要的时候解决方法/类,你必须创建一个对象。但是如果你仍然想要一个静态的访问,你可以使用 sinlgeton 模式,在这里描述:en.wikipedia.org/wiki/Singleton_pattern
-
为什么人们关心编译/运行时间?这是 impl 细节。
标签: java time static compilation