泛型方法Demo

来源:互联网 发布:淘宝互踩 编辑:程序博客网 时间:2024/05/29 13:42
class GenClassDemo5 
{
public static void main(String[] args) 
{
Animal a=Animal.NewInstance();
//静态成员子类,被用来了单例抽象类。
a.tell("da");
a.show(2.11);
Animal.SubDemo as=a.new SubDemo();
//成员内部类,调用方法。先生成一个外部类对象,然后再new。
as.say();
}
}


abstract class Animal
{

public static <T> void show(T var3){
System.out.println("father:"+var3);
}
public abstract <T>void tell(T var);
public <T> T toString(T var2){
//泛型方法,泛型类是class A<T,K>。 泛型方法是 修饰符+<T>+返回类型T或者其他+方法名(){}
System.out.println("Animal+abstract");
return var2;
}
public class SubDemo
//成员内部类
{
private int age;
private String name;
public void say(){
System.out.println(age+"--"+name);
}
}
public static class SubAnimal extends Animal
//静态内部子类。 子类实现了父类的抽象方法(重写),并继承了父类的方法。
//并且为抽象父类做了一个单例方法,内部类可以直接使用外部类的属性和方法。
//外部类也可以直接调用内部静态类的构造方法。
{
public <T> void tell(T var){
System.out.println("sub--"+var);
}
public void set(){
System.out.println("静态内部子类扩展方法");
}
}
public static  Animal NewInstance(){
Animal suba=new SubAnimal();
new SubAnimal().set();
return suba;
}
}
0 0
原创粉丝点击