大吃一278 2022-11-30 09:27 采纳率: 84%
浏览 19
已结题

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

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

  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 + "]";
    }    
}

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

  • 写回答

1条回答 默认 最新

  • a5156520 2022-12-01 10:46
    关注

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

    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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月1日
  • 已采纳回答 12月1日
  • 创建了问题 11月30日

悬赏问题

  • ¥20 ARM64架构下SSCMS部署问题
  • ¥20 请教如何让移动端的热区自适应
  • ¥30 为什么深度学习网络训练会出现训练集和测试集准确率和损失都不变的情况
  • ¥15 (标签-3D|关键词-色模型)
  • ¥15 发现在MSVS2022中”#pragma once“不起作用
  • ¥15 实时声纹降噪算法进行无关说话人语音抑制
  • ¥100 adb针对解决手机锁屏问题(相关搜索:手机锁屏)
  • ¥15 发现哔哩哔哩的粉丝只能显示前5页能不能爬出来
  • ¥15 oracle数据库求解
  • ¥15 c++ websocketpp连接币安 有报错,有偿求解