当前位置: 技术问答>java相关
继承问题
来源: 互联网 发布时间:2015-09-24
本文导语: import java.util.*; class A { private int number; A(int i) { number = i; } } class AList extends ArrayList { public void add(A a) { super.add(a); } public Object get(int index) { ...
import java.util.*;
class A {
private int number;
A(int i) {
number = i;
}
}
class AList extends ArrayList {
public void add(A a) {
super.add(a);
}
public Object get(int index) {
return super.get(index);
}
public int size() {
return super.size();
}
}
public class AListTest {
public static void main(String[] args) {
AList alist = new AList();
A a0 = new A(0);
Object a1 = new A(1);
alist.add(a0);
alist.add(a1);
System.out.println(alist);
System.out.println(alist.get(1));
System.out.println(alist.size());
}
}
输出结果为:
[A@192d342, A@6b97fd]
A@6b97fd
2
请问两个A对象被加到哪里了
class A {
private int number;
A(int i) {
number = i;
}
}
class AList extends ArrayList {
public void add(A a) {
super.add(a);
}
public Object get(int index) {
return super.get(index);
}
public int size() {
return super.size();
}
}
public class AListTest {
public static void main(String[] args) {
AList alist = new AList();
A a0 = new A(0);
Object a1 = new A(1);
alist.add(a0);
alist.add(a1);
System.out.println(alist);
System.out.println(alist.get(1));
System.out.println(alist.size());
}
}
输出结果为:
[A@192d342, A@6b97fd]
A@6b97fd
2
请问两个A对象被加到哪里了
|
因为你的add,是调super.add(),也就是说你是add到super里,所以取的时候就要从super里取。
java的子类在实例化的时候,首先实例化一个父类。所以,你可以调用super的方法。
java的子类在实例化的时候,首先实例化一个父类。所以,你可以调用super的方法。