泛型(2021-10-28)

  泛型的作用是,允许类中属性、类中方法的参数和返回值在创建对象时动态决定,在类中用大写字母作为占位符(可以声明多个)。
  泛型出现之后,一个类就可以处理多种数据类型。之前用Object也可以实现,但向下转型可能运行时发生ClassCastException,而泛型出错在编译时就能发现。
  泛型只能处理引用数据类型,如包装类。
  泛型通配符"?",允许接收任意泛型并获取其中数据(不允许修改)。还有额外功能 ,"? extends 类名"设置泛型的上限 , "? super 类名"设置泛型的下限。
  下面是1个简单例子:

package package1;

public class Point<T> { //坐标类
    private T x;
    private T y;

    public Point(){}
    public Point(T x,T y){
        this.x=x;
        this.y=y;
    }

    public void setX(T x){
        this.x=x;
    }
    public void setY(T y){
        this.y=y;
    }

    public T getX(){
        return this.x;
    }
    public T getY(){
        return this.y;
    }
}

package package1;

public class Main {
    public static void main(String[] args) {
        Point<Integer> pointA = new Point<>(); //指定数据类型只对当前对象生效
        pointA.setX(5);
        pointA.setY(10);
        System.out.println("[整型坐标]横坐标为: " + pointA.getX() + " 、纵坐标为: " + pointA.getY());
        Point<String> pointB = new Point<>();
        pointB.setX("东经60度");
        pointB.setY("北纬30度");
        System.out.println("[字符串坐标]横坐标为: " + pointB.getX() + " 、纵坐标为: " + pointB.getY());
    }
}

  运行结果:


图片.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一 为什么我们需要泛型? 例子1:开发中,经常有数值类型求和的需求,例如实现int类型的加法, 有时候还需要实现l...
    蜗牛是不是牛阅读 2,563评论 0 0
  • 1、为什么需要泛型? 通过两段代码我们就可以知道为何我们需要泛型 实际开发中,经常有数值类型求和的需求,例如实现i...
    满城风絮1阅读 994评论 0 0
  • 为什么我们需要泛型? 通过两段代码我们就可以知道为何我们需要泛型 实际开发中,经常有数值类型求和的需求,例如实现i...
    积跬步以致千里_ylc阅读 2,383评论 0 1
  • 为什么我们需要泛型呢? 通过下面两段代码就可以知道为什么需要泛型了: 实际开发中,经常有数值类型求和的需求,例如实...
    A大心阅读 1,644评论 0 1
  • Java中的泛型 为什么我们需要泛型? 通过两段代码我们就可以知道为何我们需要泛型 实际开发中,经常有数值类型求和...