有泛型类定义如下,请回答问题:

有泛型类定义如下,请回答问题:

  public class Person {
    private X info;
    public Person() { }
    public Person(X info) {
        this.info = info;
    }
    public void setInfo(X info){
        try{
            this.info = info;
        }catch(Exception e){
            e.printStackTrace();
        }
    }
    public X getInfo() {
        return info;
    }    
    public String toString() {
        return "某人,信息[" + info + "]";
    }    
}

(1)在main方法中,创建Person类对象a、b,类型参数分别为String、Integer,并分别调用方法测试,并记录输出结果。
(2)定义泛型类Point,包含x,y坐标,getX、getY、set方法。
(3)在Person类中,定义静态方法:test(Point p),输出p点坐标值。
(4)在main方法中,调用test方法测试,并记录输出结果。

在一般类的基础上使用泛型参数即可,代码如下:

Person 类:

package Person;

public class Person<X> {
    private X info;
    public Person() { }
    public Person(X info) {
        this.info = info;
    }
    public void setInfo(X info){
        try{
            this.info = info;
        }catch(Exception e){
            e.printStackTrace();
        }
    }
    public X getInfo() {
        return info;
    }    
    public String toString() {
        return "某人,信息[" + info + "]";
    } 
    
    
    
    public static void main(String[] args) {
        
        // 第一题,使用String参数来测试泛型Person类
        Person <String> a = new Person<String>();
        a.setInfo("张三");
        System.out.println(a.toString());
        
        //使用Integer参数来测试泛型Person类
        Person <Integer> b = new Person<Integer>();
        b.setInfo(8848);
        System.out.println(b.toString());
        
        //第四题,测试test方法
        Point<Double,Double> p1 = new Point<Double,Double>();
        p1.set(113.23, 116.26);    
        test(p1);
    }
    
    // 第三题  ,定义test方法,输出p点的坐标
    public static void test(Point p) {
        System.out.println("x="+p.getX()+",y="+p.getY());
    }
    
    
    
}





Point类:

package Person;

// 第二题,定义Point泛型类
public class Point<T1,T2> {
    
    private T1 x;
    private T2 y;
    
    public T1 getX() {
        return x;
    }
    
    public T2 getY() {
        return y;
    }
    
    public void set(T1 x,T2 y) {
        this.x = x;
        this.y = y;
    }
    
    
}


img