本题考察Java类加载顺序及多态特性。类加载时,先加载父类静态块,再加载子类静态块,随后按顺序加载父类非静态块、父类构造函数、子类非静态块及子类构造函数。多态情况下,`Base b = new Sub();` 表现为编译时父类特性,运行时子类特性。若子类覆盖父类方法,在父类构造函数中调用该方法时,实际调用的是子类的方法,但此时子类未完全初始化,导致子类变量未赋值,故输出 `null`。示例代码中,因子类构造器未显式调用父类构造器,导致编译错误,需添加 `super("s");` 解决。