父类:
public class FatherA {
private String a;
public String getA() {
return a;
}
public void setA(String a) {
this.a = a;
}
}
子类:
public class Children extends FatherA {
private String b;
public String getB() {
return b;
}
public void setB(String b) {
this.b = b;
}
}
Test:getA用来处理父类的对象
public class Test {
public static void main(String[] args) {
Children cl = new Children();
cl.setB("1");
cl.setA("2");
getA(cl);
System.out.println(cl.getA());
}
private static void getA(FatherA f) {
f.setA("3");
}
}
Test:getA方法用来处理父类对象的list。
ArrayList<FatherA>和ArrayList<Children>是两个不同的泛型
public class Test {
public static void main(String[] args) {
Children cl = new Children();
cl.setB("1");
cl.setA("2");
List<Children> list = new ArrayList<Children>();
list.add(cl);
getA(list);
System.out.println(cl.getA());
}
private static <T extends FatherA> void getA(List<T> list) {
for (int i = 0; i < list.size(); i++) {
list.get(i).setA("3");
}
}
}