我有一个带有静态字段 F 的 A 类:
class A {
public static String F = null;
}
B类:
class B extends A {
public static String F = "somestring";
}
和一个使用字段 F 的方法的类型化类:
class C<T extends A> {
public void someMethod() {
String someString = T.F;
// Manipulations with someString
}
}
然后是我调用它的代码。
C<B> c = new C<B>();
c.someMethod();
并且在尝试使用 someString 进行操作时出现空指针异常。所以,TF 是 null,但 T 是 B,所以它应该是“somestring”!为什么?