范例1:接口设置泛型,子类也设置泛型
interface MyMessage<T> {
public void print(T t);
}
class Message<T> implements MyMessage<T> {
@Override
public void print(T t) {
System.out.println(t);
}
}
public class Demo {
public static void main(String[] args) {
MyMessage<String> msg = new Message<>();
msg.print("Hello!");
}
}
================分割线================
范例2:子类不设置泛型吗,为父类接口定义明确泛型标记
interface MyMessage<T> {
public void print(T t);
}
class Message implements MyMessage<String> {
@Override
public void print(String t) {
System.out.println(t);
}
}
public class Demo {
public static void main(String[] args) {
MyMessage<String> msg = new Message();
msg.print("World!");
}
}