package com.zy.jczyw.testcase.fanxing;
class Teacher{
}
class Student{
}
public class GenericUtilClass<T> {
private T t;
public T getObject() {
return t;
}
public void setObject(T t) {
this.t = t;
}
}
class GenericClassDemo {
public static void main(String[] args) {
GenericUtilClass<Teacher> guc = new GenericUtilClass<Teacher>();
guc.setObject(new Teacher());
Teacher teacher = guc.getObject();
}
}
import java.util.ArrayList;
import java.util.Iterator;
public class GenericClassDemo2 {
public static void main(String[] args) {
ArrayList<Person> arr1 = new ArrayList<Person>();
arr1.add(new Person("java"));
arr1.add(new Person("python"));
ArrayList<StudentDemo> arr2 = new ArrayList<StudentDemo>();
arr2.add(new StudentDemo("java---s"));
arr2.add(new StudentDemo("python---s"));
printCollection(arr2);
}
public static void printCollection(ArrayList<? extends Person> arr) {
Iterator<? extends Person> it = arr.iterator();
while(it.hasNext()) {
System.out.println(it.next().getName());
}
}
}
class Person{
private String name;
Person(String name){
this.name = name;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
class StudentDemo extends Person{
StudentDemo(String name) {
super(name);
}
}