本质:类中的属性或者方法的参数,在定义类的时候不设置具体的类型,只使用一个标记表示,,而在类使用时才会为其动态的绑定一种数据类型。,

范例:

模式一:子类继续使用泛型

interface IMessage<T>{  //接口用IXxx命名、抽象类:AbstractXxxx
    public void print(T t); //此方法使用了泛型
}
class MessageImpl<P> implements IMessage<P>{
    public void print(P t) {
        System.out.println(t);
    }
}
public class Hello{
    public static void main(String[] args) {
        IMessage<String> msg = new MessageImpl<String>();
        msg.print("Hello");
    }
    
}

 

模式二:在子类定义是不使用泛型,直接为父接口设置好泛型类型

interface IMessage<T>{  //接口用IXxx命名、抽象类:AbstractXxxx
    public void print(T t); //此方法使用了泛型
}
class MessageImpl implements IMessage<String>{
    public void print(String t) {
        System.out.println(t);
    }
}
public class Hello{
    public static void main(String[] args) {
        IMessage<String> msg = new MessageImpl();
        msg.print("Hello");
    }
    
}


泛型方法:在一个方法上使用了泛型就是泛型方法

 

posted on 2018-04-10 18:49  lonske  阅读(109)  评论(0编辑  收藏  举报