泛型接口

来源:互联网 发布:moto g4 plus4g网络 编辑:程序博客网 时间:2024/05/19 17:10

定义一个泛型接口:

 interface IMessage<T> {
    public void print(T t) ;

}

在接口上必须定义其子类,而泛型接口的子类有两种定义形式

形式一:在子类继续设置泛型:

class Message<T> implements IMessage<T>{

    @Override
    public void print(T t) {
        System.out.println(t);
    }
}

public class TestDemo {
    public static void main (String [] args){
        IMessage<String> im = new Message<String>() ;
        im.print("Hello World !") ;
    }
}

由于子类继续设置泛型,所以在使用时必须设置类型,并且子类设置的类型必须和接口设置的类型相同

形式二:在子类不设置泛型,而为父类接口定义一个泛型类型

class Message implements IMessage<String>{

    @Override
    public void print(String t) {
        System.out.println(t);
    }
}

public class TestDemo {
    public static void main (String [] args){
        IMessage<String> im = new Message() ;
        im.print("Hello World !") ;
    }
}

这种形式在子类实例化的时候就不用再设置泛型类型

原创粉丝点击