java 16 -7 泛型方法和泛型接口(泛型类相似)

  写一个ObjectTool类

  泛型方法:把泛型定义在方法上
    格式 public <泛型类型> 返回类型 方法名(泛型类型)
  这样的好处是:
    这个泛型方法可以接收任意类型的数据

1 public class ObjectTool {
2 public <T> void show(T t) {
3 System.out.println(t);
4 }
5 }

  再写一个测试类

1 public class ObjectToolDemo {
2 public static void main(String[] args) {
3 ObjectTool ot = new ObjectTool();
4 ot.show("hello");
5 ot.show(100);
6 ot.show(true);
7 }
8 }

  先写一个泛型接口类
    泛型接口:把泛型定义在接口上

1 public interface Inter<T> {
2 public abstract void show(T t);
3 }

实现类:

 1 /*
 2 实现类在实现接口的时候
 3 第一种情况:已经知道该是什么类型的了
 4 */
 5 //public class InterImpl implements Inter<String> {
 6 //
 7 //    @Override
 8 //    public void show(String t) {
 9 //    System.out.println(t);
10 //    }
11 // }
12
13 //第二种情况:还不知道是什么类型的
14 public class InterImpl<T> implements Inter<T> {
15
16 @Override
17 public void show(T t) {
18 System.out.println(t);
19 }
20 }
21
22 /*    

测试类

 1 public class InterDemo {
 2 public static void main(String[] args) {
 3 // 第一种情况的测试
 4 // Inter<String> i = new InterImpl();
 5 // i.show("hello");
 6
 7 // // 第二种情况的测试
 8 Inter<String> i = new InterImpl<String>();
 9 i.show("hello");
10
11 Inter<Integer> ii = new InterImpl<Integer>();
12 ii.show(100);
13 }
14 }
时间: 2024-12-19 16:40:37

java 16 -7 泛型方法和泛型接口(泛型类相似)的相关文章

Java中的泛型方法

这是一个转载的博客 这是一个转载的博客 这是一个转载的博客 泛型是什么意思在这就不多说了,而Java中泛型类的定义也比较简单,例如:public class Test<T>{}.这样就定义了一个泛型类Test,在实例化该类时,必须指明泛型T的具体类型,例如:Test<Object> t = new Test<Object>();,指明泛型T的类型为Object. 但是Java中的泛型方法就比较复杂了. 泛型类,是在实例化类的时候指明泛型的具体类型:泛型方法,是在调用方法

Java中声明泛型方法

泛型是什么意思在这就不多说了,而Java中泛型类的定义也比较简单,例如:public class Test<T>{}.这样就定义了一个泛型类Test,在实例化该类时,必须指明泛型T的具体类型,例如:Test<Object> t = new Test<Object>();,指明泛型T的类型为Object. 但是Java中的泛型方法就比较复杂了. 泛型类,是在实例化类的时候指明泛型的具体类型:泛型方法,是在调用方法的时候指明泛型的具体类型. 定义泛型方法语法格式如下: 调用

java 16进制转换10进制

public static String toHexString2(byte[] b) { StringBuffer buffer = new StringBuffer(); for (int i = 0; i < b.length; ++i) { buffer.append(toHexString2(b[i])); } return buffer.toString(); } public static String toHexString2(byte b) { char[] buffer =

java 16进制与字符串直接相互转换

java 16进制与字符串直接相互转换 CreationTime--2018年7月12日09点39分 Author:Marydon 1.16进制转换成字符串 /** * 16进制直接转换成为字符串 * @explain * @param hexStr 16进制字符串 * @return String */ public static String fromHexString(String hexString) { // 用于接收转换结果 String result = ""; // 转

Java泛型的其他应用——泛型接口、泛型方法、泛型数组以及泛型的嵌套设置

学习目标 掌握泛型接口的使用 掌握泛型方法的定义的及使用 掌握泛型数组的使用 掌握泛型的嵌套设置 之前所有的操作都是在类中直接使用泛型操作的,那么,对于Java来说,也可以直接在接口中定义及使用泛型. 定义泛型接口 在JDK1.5之后,不仅仅可以声明泛型类,也可以声明泛型接口,声明泛型接口和声明泛型类的语法类似,也是在接口名称后面加上<T>,如下格式所示: [访问权限]  interface 接口名称<泛型标识>{} interface Info<T>{ // 在接口上

c#中的自定义泛型类、泛型方法和泛型接口

?    泛型的产生其中一个原因就是为了解决原来集合类中元素的装箱和拆箱问题: 一.泛型类: /// <summary> /// 返回前台的消息 /// </summary> /// <typeparam name="T"></typeparam> public class YZT_Message<T> { private int m_Request_Type = 1; // 返回前台的成功错误类型:1:成功(默认) 0:错误

Android(java)学习笔记90:泛型类的概述和使用

用法一: 下面我们首先定义泛型类: 1 package cn.itcast_04; 2 3 /* 4 * 泛型类:把泛型定义在类上 5 */ 6 public class ObjectTool<T> { //这里的<T>就像一个参数一样,现在还不确定这个泛型的类型是什么,之后创建对象或者调用方法的时候才会知道 7 private T obj; 8 9 public T getObj() { 10 return obj; 11 } 12 13 public void setObj(T

java 16 -11 ArrayList存储自定义对象并增强for遍历

需求:ArrayList存储自定义对象并遍历.要求加入泛型,并用增强for遍历. A:迭代器 B:普通for     C:增强for LinkedList,Vector,Colleciton,List等存储继续练习 增强for是用来替迭代器. 1 package cn_JDK5new; 2 3 import java.util.ArrayList; 4 import java.util.Iterator; 5 6 7 public class ArrListDemo2 { 8 public st

java 16 - 13 可变参数和Arrays工具类的asList()方法

可变参数:定义方法的时候不知道该定义多少个参数 格式: 修饰符 返回值类型 方法名(数据类型… 变量名){ } 注意: 这里的变量其实是一个数组 如果一个方法有可变参数,并且有多个参数,那么,可变参数肯定是最后一个 1 import java.util.Scanner; 2 public class ArgsDemo { 3 4 public static void main(String[] args) { 5 int result = sum(1,2,3,4,5,6,7,8,9);//参与计