我的理解是,当需要使用一个类时,它才会被加载(简单来说)。通过在命令行中加入参数-verbose:class并使用一个修改过的Iterators类,该类在调用其clinit方法时打印一条消息,我观察到了一些我无法解释的现象: public class IteratorsTest { ...
我已经阅读了相关的C#语言规范(v5.0),但我找不到与我看到的内容相关的部分。 如果你运行下面的代码,你会看到下面的输出,这正是我期望的: using System; class Test { static int count = 0; static void Main()...
引用自JLS #8.1.3: 内部类不能声明静态初始化器(§8.7)...... 示例如下: class A { class B { static { // Compile-time Error: Cannot define static initialize...