如何定义一个泛型接口呢?

如何定义一个泛型接口呢?

转自:

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);
    }
}
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » 如何定义一个泛型接口呢?