如何定义一个泛型接口呢?
转自:
http://www.java265.com/JavaCourse/202204/3133.html
泛型程序设计(generic programming)是程序设计语言的一种风格或范式。泛型允许程序员在强类型程序设计语言中编写代码时使用一些以后才指定的类型,在实例化时作为参数指明这些类型。各种程序设计语言和其编译器、运行环境对泛型的支持均不一样。Ada、Delphi、Eiffel、Java、C#、F#、Swift 和 Visual Basic .NET 称之为泛型(generics);ML、Scala 和 Haskell 称之为参数多态(parametric polymorphism);C++ 和 D称之为模板。具有广泛影响的1994年版的《Design Patterns》一书称之为参数化类型(parameterized type)
下文笔者将讲述定义泛型接口的方法分享,如下所示:
定义泛型接口语法
修饰符 interface接口名<代表泛型的变量> { } public interface MyGenericInterface<T> { // 抽象方法 void method(T t); }
例:
public class MyGenericInterfaceImpl1 implements MyGenericInterface<String> { @Override public void method(String s) { System.out.println(s); } } public class MyGenericInterfaceImpl2<T> implements MyGenericInterface<T> { @Override public void method(T t) { System.out.println(t); } } public class TestMyGenericInterface { public static void main(String[] args) { //1.实现类 MyGenericInterfaceImpl1 MyGenericInterfaceImpl1 g1 = new MyGenericInterfaceImpl1(); g1.method("最爱java开发"); // ArrayList<E> 实现了 List<E> 接口 //2.实现类 MyGenericInterfaceImpl2 MyGenericInterfaceImpl2<String> g2 = new MyGenericInterfaceImpl2<>(); g2.method("hello java265.com"); MyGenericInterfaceImpl2<Integer> g3 = new MyGenericInterfaceImpl2<>(); g3.method(91232424); } }