泛型接口

泛型接口

泛型接口定义:

package com.tiedandan.集合.泛型.泛型接口;

/**
* @张铁蛋
*
* 泛型接口
* 语法:接口名<T>
* 泛型接口不能创建泛型静态常量
*/
public interface GenericInterface<T> {
   String name = "张铁蛋";
   T server(T t);
}

泛型接口的实现有两种情况

第一种情况:

package com.tiedandan.集合.泛型.泛型接口;

/**
* 泛型接口的实现类。
* 泛型接口的实现类在实现泛型接口时可以定义泛型类T的类型,也可以不定义泛型类T的类型
* 第一种情况:泛型接口的实现类在实现接口时就要定义泛型类T的类型、
* 这里定义泛型类T的类型为String类型。
* 然后重写泛型接口里的方法,方法返回值类型同样需要改成和String类型一样。
*
*/
public class GenericInterfaceImpl implements GenericInterface<String>{
   @Override
   public String server(String o) {
       return o;
  }
}

第二种情况:

package com.tiedandan.集合.泛型.泛型接口;

/**
* 第二种情况:当实现类并没有定义泛型接口的类型时,可以把实现类改成泛型类。
* 泛型类的类型在泛型类创建对象时定义,然后会自动向上定义泛型接口的类型。
* @param <T>
*/
public class GenericInterfaceImpl2<T> implements GenericInterface<T>{
   @Override
   public T server(T t) {
       return t;
  }
}

测试类:

package com.tiedandan.集合.泛型.泛型接口;

import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;

public class TestGenericInterface {
   public static void main(String[] args) {
       GenericInterfaceImpl gifi1 = new GenericInterfaceImpl();
       System.out.println(gifi1.server("张铁蛋"));
       GenericInterfaceImpl2<Integer> gifi2 = new GenericInterfaceImpl2<Integer>();
       System.out.println(gifi2.server(100));


  }


}

运行结果:

张铁蛋

100

posted on   张铁蛋666  阅读(434)  评论(0编辑  收藏  举报

编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示