我可以将扩展 class 中的变量类型强制转换为 Java 中的子类型吗?

Can I force the type of a variabile in a extended class to a subtype in Java?

有这个:

public class A{}
public class B extends A{}
public class C{
    protected A x;
}

有没有什么方法可以创建一个扩展 C 的 class D,使得 x 的类型在所有 D 的实例中都必须是 B?请注意,C 是我正在编写的 class,因此我可以故意对其进行编辑以满足 D 的需要。

使用通用类型

public class C<T>{
    protected T x;
}

public class D extends C<SomeConcreteType>{
     //x will be SomeConcreteType
}