要创建一个包含另一个通用类型的子类的通用类,可以使用Java中的泛型来实现。下面是一个示例代码:
class GenericClass {
private T genericObject;
public GenericClass(T genericObject) {
this.genericObject = genericObject;
}
public T getGenericObject() {
return genericObject;
}
public void setGenericObject(T genericObject) {
this.genericObject = genericObject;
}
}
class ChildGenericClass extends GenericClass {
private K additionalObject;
public ChildGenericClass(V genericObject, K additionalObject) {
super(genericObject);
this.additionalObject = additionalObject;
}
public K getAdditionalObject() {
return additionalObject;
}
public void setAdditionalObject(K additionalObject) {
this.additionalObject = additionalObject;
}
}
public class Main {
public static void main(String[] args) {
ChildGenericClass childGenericClass = new ChildGenericClass<>("Hello", 123);
System.out.println(childGenericClass.getGenericObject()); // Output: Hello
System.out.println(childGenericClass.getAdditionalObject()); // Output: 123
}
}
在上面的示例中,GenericClass
是一个包含一个泛型类型参数的通用类。ChildGenericClass
继承自GenericClass
并添加了另一个泛型类型参数。子类可以通过调用父类的构造函数来初始化父类的泛型对象,并且还可以添加自己独有的属性和方法。
在Main
类的main
方法中,我们创建了一个ChildGenericClass
对象,并使用不同的类型参数初始化了父类的泛型对象和子类的独有属性。然后,我们可以通过调用相应的getter方法来获取这些值。