- 1 /*万用字符
- 2 *animals可以引用dogs集合
- 3 *当animals引用集合时,集合元素为Dog类型
- 4 *当dogs引用集合时,集合元素为Dog类型
- 5 *无法通过animals对集合进行修改
- 6 */
- 7 importjava.util.*;
- 8
- 9 public class Animal{
- 10 public void showClass(){
- 11System.out.println("集合元素为Animal类型");
- 12 }
- 13
- 14 public static void main(String[] args){
- 15 //animals可以引用dogs数组
- 16ArrayList dogs = newArrayList();
- 17dogs.add(new Dog());
- 18ArrayListextendsAnimal> animals = dogs;
- 19 //当animals引用集合时,集合元素为Dog类型
- 20animals.get(0).showClass();
- 21 //当dogs引用集合时,集合元素为Dog类型
- 22dogs.get(0).showClass();
- 23 //无法通过animals对集合进行修改(无法通过编译)
- 24 //animals.add(new Dog());
- 25
- 26 }
- 27
- 28 }
- 29
- 30
- 31 classDogextends Animal{
- 32 public void showClass(){
- 33System.out.println("集合元素为Dog类型");
- 34 }
- 35}
来源: http://www.bubuko.com/infodetail-1964167.html