?通配符,可以理解为占位符。
泛型的限定:
? extends E:可以接受E类型或者E的子类型。上限
泛型的限定:
? extends E:可以接受E类型或者E的子类型。上限
? super E:可以接受E类型或者E的父类型。下限
代码:
import java.util.*;
public class code
{
public static void main(String[] args) {
ArrayList<Person> a = new ArrayList<Person>();
a.add(new Person("zhangsan"));
a.add(new Person("lisi"));
a.add(new Person("wangwu"));
ArrayList<Student> b = new ArrayList<Student>();
b.add(new Student("66"));
b.add(new Student("55"));
b.add(new Student("33"));
lizi(b);
}
public static void lizi(ArrayList<? extends Person> a) {
Iterator<? extends Person> it = a.iterator();
while(it.hasNext()) {
System.out.println(it.next().show());
}
}
}
class Person
{
private String name;
Person(String name) {
this.name = name;
}
public String show() {
return name;
}
}
class Student extends Person
{
Student(String name){
super(name);
}
}版权声明:本文为W_Meng_H原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。