当前位置: 首页 > news >正文

集合框架10:泛型接口、泛型方法

视频链接:13.20 泛型方法_哔哩哔哩_bilibiliicon-default.png?t=O83Ahttps://www.bilibili.com/video/BV1zD4y1Q7Fw?spm_id_from=333.788.videopod.episodes&vd_source=b5775c3a4ea16a5306db9c7c1c1486b5&p=20

1. 泛型接口

创建一个泛型接口:

package com.yundait.Demo01;/*** 泛型接口* 语法:接口名<T>* 注意:接口中不能创建静态泛型常量;* @param <T>*/
public interface MyInterface<T> {String name = "张三";  //创建静态常量name//泛型作为接口中抽象方法的返回值类型和参数类型T server(T t);
}

使用泛型接口方法1:在定义泛型接口实现类时,指定泛型接口的类型:

package com.yundait.Demo01;public class MyInterfaceImpl implements MyInterface<String>{@Overridepublic String server(String s) {System.out.println(s);return s;}
}

使用泛型接口方法2:在定义泛型接口的实现类时,不指定泛型接口的类型,而是把接口实现类也定义为泛型类,在接口实现类实例化时,再去指定泛型接口类型:

package com.yundait.Demo01;public class MyInterfaceImpl3<T> implements MyInterface<T>{@Overridepublic T server(T t) {System.out.println(t);return t;}
}

测试:

package com.yundait.Demo01;public class TestGeneric {//使用泛型类创建对象public static void main(String[] args) {MyInterfaceImpl myInterface = new MyInterfaceImpl();myInterface.server("刘德华");MyInterfaceImpl3<String> stringMyInterfaceImpl3 = new MyInterfaceImpl3<>();stringMyInterfaceImpl3.server("$$$$$$$$$$$$$");}
}

2.泛型方法

回顾一下方法的定义:

修饰符  返回值类型  方法名(参数类型  参数名){方法体;return  返回值;}

创建一个泛型方法:

package com.yundait.Demo01;/****泛型方法*语法:<T> 返回值类型*/
public class MyGenericMethod {public <T> T show(T t){System.out.println("泛型方法:" + t);return t;}
}

使用泛型方法:


http://www.mrgr.cn/news/51711.html

相关文章:

  • gbn,sr和tcp的区别
  • EDM营销平台如何通过邮箱追踪提升效果?
  • 9.22前缀和
  • blender分离含有多个动作的模型,并导出含有材质的fbx模型
  • 条款3: 理解decltype
  • 鸿蒙跨设备协同开发05——跨设备拖拽
  • 2.4 STM32启动过程
  • 单片机输出方波
  • 数据结构——八大排序(下)
  • Python进阶知识1
  • Excel 对数据进行脱敏
  • 插件分享|沉浸式翻译
  • 【未公开0day】某某星CMSV6某某定位监控 getAlarmAppealByGuid SQL注入漏洞【附poc下载】
  • Java算术运算符 C语言的二维数组初始化
  • Python使用Selenium库实现CSDN自动化发帖
  • Redis提供了专门的命令来实现自增操作
  • 中国主要厂商3-羟基丁酸产能、销量、收入、价格和市场份额
  • Redis Geo 数据类型解析:基于 ZSET 的高效地理位置管理0708
  • flutter 使用三方/自家字体
  • python自动化办公实例(使用openpyxl、os处理统计Excel表中的数据并将其合并)