package bag;
2 import java.util.ArrayList;
3 public class text {
4 public static void main(String[] args) {
5 ArrayList list = new ArrayList();
6 Circle o = new Circle(1);
7 Object p = new Circle(2);
8 list.add(o);
9 list.add(p);
10 System.out.println(o.getArea());
11 System.out.println(((text1)p).getArea());
12 System.out.println(((text1) list.get(0)).getArea());
13 System.out.println(((text1) list.get(1)).getArea());
}
}
第10行和第11行都能懂,能明白为什么要进行转换
但是为什么第12行和第13行都要进行强制转换呢?list.get(0)得到的不就是o吗??不就相当于o.getArea()了嘛??Java对象类ArrayList
2 import java.util.ArrayList;
3 public class text {
4 public static void main(String[] args) {
5 ArrayList list = new ArrayList();
6 Circle o = new Circle(1);
7 Object p = new Circle(2);
8 list.add(o);
9 list.add(p);
10 System.out.println(o.getArea());
11 System.out.println(((text1)p).getArea());
12 System.out.println(((text1) list.get(0)).getArea());
13 System.out.println(((text1) list.get(1)).getArea());
}
}
第10行和第11行都能懂,能明白为什么要进行转换
但是为什么第12行和第13行都要进行强制转换呢?list.get(0)得到的不就是o吗??不就相当于o.getArea()了嘛??Java对象类ArrayList
所以list.get的返回类型默认都是Object型的。