疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

泛型接口及泛型方法


 

 

 
泛型接口的定义:使用泛型定义的接口成为泛型接口
interfaceMessage<T> {  // 泛型接口
    publicString echo(T msg) ;
}
在Java中,泛型接口的实现的两种方式
1,在子类上继续定义泛型,同时此泛型在接口上继续使用
interfaceMessage<T> {  // 泛型接口
    publicString echo(T msg) ;
}
classMessageImpl<T> implementsMessage<T> {
    publicString echo(T msg) {
        return"ECHO : "+ msg;
    }
}
publicclassTestDemo {
    publicstaticvoidmain(String[] args) throwsException {
        Message<String>msg = newMessageImpl<String>();
        System.out.println(msg.echo("张三"));
    }
}
2,在子类上设置具体类型
interfaceMessage<T> {  // 泛型接口
    publicString echo(T msg) ;
}
classMessageImpl implementsMessage<String> {
    publicString echo(String msg) {
        return"ECHO : "+ msg;
    }
}
publicclassTestDemo {
    publicstaticvoidmain(String[] args) throwsException {
        Message<String>msg = newMessageImpl();
        System.out.println(msg.echo("张三"));
    }
}
泛型方法:
publicclassTestDemo {
    publicstaticvoidmain(String[] args) throwsException {
        Integerresult[] = get(1, 2, 3);
        for(inttemp :result) { // 连自动拆箱都包含了
            System.out.println(temp);
        }
    }
    publicstatic<T> T[] get(T... args) { // T的类型由方法调用的时候来决定
        returnargs;
    }
}