public class Test {
public static void main(String[] args) {
int id1 = test(new ClassA(1));
int id2 = test(new ClassB(2));
int id3 = test(new ClassC(3));
System.out.println(id1);
System.out.println(id2);
System.out.println(id3);
}
public static <T extends ClassD> int test(T t){
int id = t.getId();
return id;
}
}
abstract class ClassD<T>{
private int id;
public ClassD(int id) {
this.id = id;
}
public int getId() {
return id;
}
}
class ClassA<T> extends ClassD{
public ClassA(int id) {
super(id);
}
}
class ClassB<T> extends ClassD{
public ClassB(int id) {
super(id);
}
}
class ClassC<T> extends ClassD{
public ClassC(int id) {
super(id);
}
}
你的需求没看太明白,希望上面的代码能帮助你。