分析过程class GenMet<T> { private T t; public T getObj() { return t; } public void setObj(T t) { this.t = t; } public <U> void display(U u) { System.out.println("泛型类的类型参数 T:" + t.getClass().getName()); System.out.println("泛型方法的类型参数 U:" + u.getClass().getName()); }}public class Test2_2 { public static void main(String[] args) { GenMet<Integer> gen = new GenMet<Integer>(); gen.setObj(new Integer(5)); gen.display("我是文本"); }}
时间: 2023-11-22 13:54:20 浏览: 80
这段代码定义了一个泛型类 `GenMet<T>`,其中 `T` 是类型参数,在类中定义了一个私有属性 `t` 和两个方法 `getObj()` 和 `setObj()`,分别用于获取和设置私有属性 `t`。同时,这个类还定义了一个泛型方法 `display(U u)`,其中 `U` 是类型参数,在方法中打印了 `t` 和 `u` 的类型信息。
在 `main` 方法中,创建了一个 `GenMet<Integer>` 的对象 `gen`,并调用了 `setObj()` 方法将一个整数对象赋值给 `t`。然后调用 `display()` 方法,传入一个字符串对象,打印 `t` 和字符串对象的类型信息。
因此,最终输出的结果应该是:
```
泛型类的类型参数 T:java.lang.Integer
泛型方法的类型参数 U:java.lang.String
```
相关问题
class GenMet<T>{ private T t; public T getObjO{ return t; } public void setObj(Tt){ this.t-t;} public <U> void display(U u){ System.out.println("泛型类的类型参数 T:"+t.getClassO-getNameO); System.out.println("泛型方法的类型参数 U:"+u.getClassO-getNameO); public classTest2_2{ public static void main(Stringl ] args){ GenMet<Integer> gen=new GenMet<Integer>O; gen.setObj(new Integer(5)); gen.display("我是文本"); 运行结果为:
编译错误。代码中的 `setObj(Tt)` 应该为 `setObj(T t)`,并且 `display` 方法需要加上一个右括号。修正后的代码如下:
```
class GenMet<T> {
private T t;
public T getObj() {
return t;
}
public void setObj(T t) {
this.t = t;
}
public <U> void display(U u) {
System.out.println("泛型类的类型参数 T:" + t.getClass().getName());
System.out.println("泛型方法的类型参数 U:" + u.getClass().getName());
}
}
public class Test2_2 {
public static void main(String[] args) {
GenMet<Integer> gen = new GenMet<Integer>();
gen.setObj(new Integer(5));
gen.display("我是文本");
}
}
```
运行结果为:
```
泛型类的类型参数 T:java.lang.Integer
泛型方法的类型参数 U:java.lang.String
```
注释public class ObjectTool<T> { private T obj; public void setObj(T obj) { this.obj = obj; } public T getObj() { return obj; } } public static void main(String[] args) { ObjectTool<String> obj = new ObjectTool<>(); obj.setObj("Hello World."); System.out.println(obj.getObj());
这段代码定义了一个泛型类 ObjectTool<T>,其中 T 是类型参数。这个类有一个属性 obj,类型为 T,和两个方法 setObj 和 getObj,分别用于设置和获取 obj 的值。
在 main 方法中,创建了一个 ObjectTool<String> 对象 obj,并通过 setObj 方法设置了 obj 的值为 "Hello World."。然后通过 getObj 方法获取 obj 的值并将其打印输出。因为 obj 的类型是 String,所以输出的结果是 "Hello World."。
阅读全文