【发布时间】:2018-05-24 16:03:46
【问题描述】:
我有三个班级:A、B、Main。 Main 类扩展 A 类,B 类扩展 Main。
一个
class A{
ArrayList<ABC> arr= new ArrayList<>();
void addData(){
a();
}
void add(){
ABC abc1 = new ABC("qwer", "qwer", "qwer", 4, 1, "qweqw", "qweqwe");
ABC abc2 = new ABC("qwer", "qwer", "qwer", 4, 1, "qweqw", "qweqwe");
arr.addAll(Arrays.asList(abc1,abc2));
}
}
主要
class Main extends A{
public static void main(String[] args) throws Exception{
A a = new A();
a.add();
B b = new B();
b.choose();
}
}
B
class B extends Main{
Main m = new Main();
void choose() throws Exception {
System.out.println(m.arr.size());
}
}
但是extends似乎对B类不起作用。在检查B类的数组大小时,它返回0而不是在Main上添加的2个条目。
是我误解了继承的工作原理还是代码本身有问题?
【问题讨论】:
标签: java class oop object inheritance