public class CustomVO1 {
boolean primary;
public boolean isPrimary() {
return primary;
}
public void setPrimary(boolean primary) {
this.primary = primary;
}
}
public class CustomVO2 extends CustomVO1{
boolean primary;
public boolean getPrimary() {
return primary;
}
public void setPrimary(boolean primary) {
this.primary = primary;
}
}
public class TestSample {
List CustomVO1List = new ArrayList();
List modifiedList = new ArrayList();
CustomVO1List.clear();
CustomVO1List.addAll(CustomVO1List);
}
答案 0 :(得分:0)
不,addAll()
不会继承任何方法。它只是将列表项从一个列表追加到另一个列表中。
阅读List#addAll()
的{{3}}:
将指定集合中的所有元素按指定集合的迭代器(可选操作)返回的顺序附加到此列表的末尾。如果在操作正在进行时修改指定的集合,则此操作的行为是不确定的。 (请注意,如果指定的集合是此列表,并且它是非空的,则会发生这种情况。)
答案 1 :(得分:0)
如果这就是你的意思,List本身不会继承任何东西。如果您正在讨论列表中的项目,无论您使用何种类型的列表,它们仍将拥有所有方法:
public class Animal {
public void speak() {
System.out.println("<Animal sound>");
}
}
public class Dog extends Animal{
@Override
public void speak() {
System.out.println("woof");
}
}
如果您现在将狗添加到动物名单中,它们仍会吠叫:
List<Animal> animalList = new ArrayList<Animal>();
List<Dog> dogList = new ArrayList<Dog>();
doglist.add(new Dog());
animalList.addAll(dogList);
animalList.get(0).speak(); //woof
(我没有测试过此代码,对于任何拼写错误都很抱歉。)