2.请将下面的类StringType改写成一个泛型类GenericsType,类中包含有一泛型类成员变量Key,构造函数传递参数对key进行初始化,另外编写一个方法printKey对该泛型类成员key内容进行输出。请使用下面的类GenericsTest进行测试。 class StringType{ private String key; public void setKey(String key) { this.key = key; } public String getkey() { return this.key; } } public class GenericsTest{ public static void main(String[] args) { GenericsType<String> obj = new GenericsType<>("Hello"); System.out.println(obj.getKey()); ObjectTool< Integer > obj1 = new GenericsType <>(); obj1.setKey(123); obj1.printKey(); ObjectTool< Double > obj2 = new GenericsType <>(); obj2.setKey(123.1); obj2.printKey(); } }
时间: 2024-02-02 16:03:13 浏览: 27
改写后的代码如下:
```
class GenericsType<T>{
private T key;
public GenericsType(T key) {
this.key = key;
}
public void setKey(T key) {
this.key = key;
}
public T getKey() {
return this.key;
}
public void printKey() {
System.out.println(this.key);
}
}
public class GenericsTest{
public static void main(String[] args) {
GenericsType<String> obj1 = new GenericsType<>("Hello");
System.out.println(obj1.getKey());
GenericsType<Integer> obj2 = new GenericsType<>(123);
obj2.printKey();
GenericsType<Double> obj3 = new GenericsType<>(123.1);
obj3.printKey();
}
}
```
在GenericsType类中,我们使用了泛型T来代替了String,同时添加了构造函数和printKey方法来初始化和输出泛型成员变量key。在GenericsTest中,我们分别对String、Integer和Double类型的泛型对象进行了测试,验证了泛型类的使用效果。