以下是一个示例代码,展示了如何从模板类的字段类型定义字段类型:
// 定义一个泛型类
class TemplateClass {
private T field;
public T getField() {
return field;
}
public void setField(T field) {
this.field = field;
}
}
// 定义一个使用模板类的类
class MyClass {
private TemplateClass integerField;
private TemplateClass stringField;
public TemplateClass getIntegerField() {
return integerField;
}
public void setIntegerField(TemplateClass integerField) {
this.integerField = integerField;
}
public TemplateClass getStringField() {
return stringField;
}
public void setStringField(TemplateClass stringField) {
this.stringField = stringField;
}
}
public class Main {
public static void main(String[] args) {
// 创建一个使用模板类的实例
MyClass myClass = new MyClass();
// 创建一个模板类实例,并设置字段值
TemplateClass integerTemplateClass = new TemplateClass<>();
integerTemplateClass.setField(10);
// 设置MyClass中的integerField字段
myClass.setIntegerField(integerTemplateClass);
// 获取MyClass中的integerField字段值
TemplateClass retrievedIntegerField = myClass.getIntegerField();
System.out.println(retrievedIntegerField.getField()); // 输出: 10
// 创建另一个模板类实例,并设置字段值
TemplateClass stringTemplateClass = new TemplateClass<>();
stringTemplateClass.setField("Hello");
// 设置MyClass中的stringField字段
myClass.setStringField(stringTemplateClass);
// 获取MyClass中的stringField字段值
TemplateClass retrievedStringField = myClass.getStringField();
System.out.println(retrievedStringField.getField()); // 输出: Hello
}
}
在这个示例中,我们定义了一个名为TemplateClass
的泛型类,它有一个字段field
,可以存储不同类型的值。然后,我们定义了一个名为MyClass
的类,它包含两个TemplateClass
类型的字段integerField
和stringField
。在Main
类中,我们创建了一个MyClass
的实例,并使用TemplateClass
的实例来设置和获取MyClass
中的字段值。注意,我们没有为模板添加额外的类,而是直接使用了TemplateClass
的字段类型来定义MyClass
中的字段类型。