泛型应用到类上
package Test.Test01;
import java.util.Scanner;
public class Test01 {
public static void main(String args[]){
Person<String> person = new Person<>("yang","money");
System.out.println(person);
Dog www = new Dog("www",20);
Person<Dog> person2 = new Person<>("huang",www);
System.out.println(person2);
}
}
class Person<E>{
public String name;
private E property;
public Person(String name,E property){
this.name = name;
this.property = property;
}
public E getProperty(){
return property;
}
public String toString(){
return name+" "+getProperty();
}
}
class Dog{
private String name;
private int age;
public Dog(String name,int age){
this.name = name;
this.age = age;
}
public String toString(){
return name+" "+age;
}
}
当我们在new 对象时,如果类名是Person 需要用<类型>指明该对象中的E 是指定类型
将泛型应用到方法上
package Test.Test01;
import java.util.Scanner;
public class Test01 {
public static void main(String args[]){
Person<String> person = new Person<>("yang","money");
Dog www = new Dog("www",20);
person.show(www);
person.show(1234);
}
}
class Person<E>{
public String name;
private E property;
public Person(String name,E property){
this.name = name;
this.property = property;
}
public <T> void show(T property){
System.out.println(property);
}
public E getProperty(){
return property;
}
public String toString(){
return name+" "+getProperty();
}
}
class Dog{
private String name;
private int age;
public Dog(String name,int age){
this.name = name;
this.age = age;
}
public String toString(){
return name+" "+age;
}
}