对不起,我弄错了。1楼的图之所以没报错,是因为Student类和Worker类都是Person类的子类。例如,
ArrayList<Object> al1 = new ArrayList<>();
al1.add(1);
al1.add(2);
ArrayList<Double> al2 = new ArrayList<>();
al2.add(3.0);
al2.add(4.0);
al1.addAll(al2); // 此时不会报错,因为Double是Object的子类
第二种情况:
ArrayList<Double> al1 = new ArrayList<>();
al1.add(1.0);
al1.add(2.0);
ArrayList<Double> al2 = new ArrayList<>();
al2.add(3.0);
al2.add(4.0);
al1.addAll(al2); // 此时不会报错,两个集合的元素类型相同
David 发表于2017-03-16 16:22
对不起,我弄错了。1楼的图之所以没报错,是因为Student类和Worker类都是Person类的子类。例如,
ArrayList<Object> al1 = new ArrayList<>();
al1.add(1);
al1.add(2);
ArrayList<Double> al2 = new ArrayList<>();
al2.add(3.0);
al2.add(4.0);
al1.addAll(al2); // 此时不会报错,因为Double是Object的子类
第二种情况:
ArrayList<Double> al1 = new ArrayList<>();
al1.add(1.0);
al1.add(2.0);
ArrayList<Double> al2 = new ArrayList<>();
al2.add(3.0);
al2.add(4.0);
al1.addAll(al2); // 此时不会报错,两个集合的元素类型相同
我的student继承了person呀 老师。。。。