public class GenericDemo5{
public static void main(String[] args){
GenericClass2<String> gen=new GenericClass2<String>();
gen.println("abc");
GenericClass3 gen2=new GenericClass3();//泛型方法可以避免类给限定住了。
gen2.println("abc");
gen2.println(123);
gen2.println(true);
gen2.println(12.5);
GenericClass3 gen3=new GenericClass3();
gen3.println(new Dog());
GenericClass3.print("哈哈");
}
}
class GenericClass2<T>{
public void println(T content){
System.out.println(content);
}
}
class GenericClass3{
public <T> void println(T content){
System.out.println(content);
}
public <T extends Animal> void println(T animal){//泛型方法的重载
System.out.println(animal);
}
/*public static <T> void println(T content){
System.out.println(content);
}这种不可以*/
public static <T> void print(T content){//该方法可以帮助我们打印任何类型。
System.out.println(content);
}
}
interface Animal{
public abstract void eat();
}
class Dog implements Animal{
public void eat(){
System.out.println("啃骨头");
}
}
class Cat implements Animal{
public void eat(){
System.out.println("吃鱼肉");
}
}