首页 > 其他分享 >9.14 泛型的基本定义

9.14 泛型的基本定义

时间:2023-06-11 10:22:05浏览次数:27  
标签:定义 Point 9.14 point setY void 泛型 public

demo1

class Point<T> {// T属于类型标记,可以设置多个标记
    private T x;
    private T 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;
    }
}

public class HelloWorld {
    public static void main(String args[]){
        // 实例化Point类,设置泛型标记"T"的目标数据类型,属性,方法参数,返回值的类型动态配置
        Point<Integer> point = new Point<Integer>();
        // 第一步:根据需求进行内容的设置,所有数据通过Object接收
        point.setX(10);
        point.setY(20);// 自动装箱
        //point.setY("北纬20度");// 自动装箱--编译报错了

        // 第二步:从里面获取数据--不用向下转型
        int x = point.getX();
        int y = point.getY();// 获取y坐标的原始内容
        System.out.println("x坐标:" + x + ",y坐标:" + y);
    }
}
  • 泛型的本质在于:类中的属性或方法的参数与返回值的类型,可以有对象实例化的时候决定.

  • 那么此时就需要在类定义的时候,明确的定义占位符(泛型标记)

  • 泛型之中只允许设置引用类型,如果现在要操作基本类型必须使用包装类;

  • 从jdk1.7开始,泛型对象实例化可以简化为:Point point = new Point<>();(后面Integer可以省略)

  • 使用泛型可以解决大部分的类对象的强制转换处理,这样的程序才是一个合理的设计;

标签:定义,Point,9.14,point,setY,void,泛型,public
From: https://www.cnblogs.com/pansidong/p/17472564.html

相关文章

  • 9.13 泛型问题引出
    Object可以接受所有的数据类型,这是泛型产生的主要依据~~~classPoint{privateObjectx;privateObjecty;publicvoidsetX(Objectx){this.x=x;}publicvoidsetY(Objecty){this.y=y;}publicObjectgetX(){......
  • Java编程技巧-定义集合常量、定义数组常量的最佳方式
    场景Java中定义集合常量的最佳方式在编码中,经常使用到各种集合常量,比如List(列表)常量、Set(集合)常量、Map(映射)常量等。普通方式一般这样写:publicstaticfinalList<Integer>CONST_VALUE_LIST=Arrays.asList(1,2,3);publicstaticfinalSet<Integer>CONST_VALUE......
  • 9.9 接口定义标准
    interfaceIUSB{publicbooleancheck();publicvoidwork();}classComputer{publicvoidplugin(IUSBusb){//电脑上使用USB设备---??什么格式if(usb.check()){usb.work();}else{System.out.println("硬件设......
  • Android 自定义View模板代码记录
    原文地址:Android自定义View模板代码记录-Stars-One的杂货小窝每次写自定义View,需要重写3个构造方法,如果使用AndroidStudio直接创建,会导致View代码过多,于是稍微删了点多余代码,搞一份简洁的模板代码供自己使用模版代码importandroid.content.Contextimportandroid.util.......
  • memset 定义方法
    memset定义方法int”较“的原则:加法不爆。极大值:0x7f较大值:0x3f较小值:0xc0极小值:0x80longlong”较“的原则:加法不爆。极大值:0x7f较大值:0x3f较小值:0xc0极小值:0x80float”较“的原则:保证一定位精度。7f以上一直到be都是-0(实际上是一个很小的>-1.0的负数)极大值:0......
  • 9.8 接口定义加强
    default,static不可作为主要的设计模式,这个只是补救措施。demo1接口中追加普通方法接口定义方法加上default,子类实现就不是非得覆写了interfaceIMessage{publicStringmessage();//抽象方法,abstract省略,获取消息内容publicdefaultbooleanconnect(){//加上......
  • UE4 自定义StaticMesh碰撞失效
    将画刷编辑的Actor转换成静态网格体后,原有的碰撞消失了,解决办法如下:首先在内容浏览器中找到需要更改碰撞配置的网格体双击进入静态网格编辑器页面,右侧找到细节面板找到碰撞-->碰撞复杂度-->选择将复杂碰撞用作简单碰撞保存即可......
  • 微课--Python嵌套函数定义与使用
    7.1.3 函数嵌套定义与使用在Python中,允许函数的嵌套定义,也就是在一个函数的定义中再定义另一个函数。在内层定义的函数中,除了可以使用内层函数内定义的变量,还可以访问外层函数的参数和外层函数定义的变量以及全局变量和内置对象。除非特别必要,一般不建议过多使用嵌套定义函数,因为......
  • 微课--Python生成器函数定义与使用(19分钟)
    8.5 生成器函数定义与使用(书稿节选)如果函数中包含yield语句,那么调用这个函数得到的返回值不是单个值,而是一个包含若干值的生成器对象,这样的函数也称生成器函数。代码每次执行到yield语句时,返回一个值,然后暂停执行,当通过内置函数next()、for循环遍历生成器对象元素或其他方式显式......
  • 自定义字体/图标的使用
    图标下载网站 选择需要的图标下载代码 下载后的代码 demo_index.html里会教你怎么使用1. 拷贝到index.css将这五个文件拷贝 拷贝到新建的文件夹font 修改里面路径 2.  拷贝到index.css 3.  demo_index.html里有Unicode码 如下图使用 ......