编程语言
首页 > 编程语言> > javaSE.Generic泛型

javaSE.Generic泛型

作者:互联网

泛型

泛型集合

定义集合时,设置泛型,避免集合中装入不同类型的数据;

/**
 * 泛型类
 * 语法:类名<T>
 */
public class GenericClass<T> {
    //使用泛型
    //1.创建变量
    T t;
    //2.作为方法参数
    public void show(T t){
        System.out.println(t);
    }
    //3.作为方法返回值
    public T getT(){
        return t;
    }
}
/**
 * 泛型接口
 * 语法:接口名<T,...>
 * @param <T>
 */
public interface GenericInterface<T> {
    String name="tom";
    T server(T t);
}

public class InterfaceImpl implements GenericInterface<String>{

    @Override
    public String server(String s) {
        System.out.println("泛型接口,"+s);
        return s;
    }
}

/**
 * 泛型类继承
 * @param <T>
 */
public class InterfaceImpl2<T> implements GenericInterface<T> {
    @Override
    public T server(T t) {
        System.out.println("泛型类、泛型接口,"+t);
        return t;
    }
}
public class GenericMethod {
    public <T> T show(T t){
        System.out.println("泛型方法,"+t);
        return t;
    }
}
public class test {
    public static void main(String[] args) {
        //使用泛型类创建对象
        System.out.println("-----------String-----------");
        GenericClass<String> genericDemo=new GenericClass<String>();
        genericDemo.t="hello";
        genericDemo.show("hello word");
        String s=genericDemo.getT();
        System.out.println(s);
        System.out.println("------------Integer----------");
        GenericClass<Integer> genericDemo2=new GenericClass<Integer>();
        genericDemo2.t=100;
        genericDemo2.show(200);
        Integer integer=genericDemo2.getT();
        System.out.println(integer.toString());

        System.out.println("-----------接口实现 String-----------");
        InterfaceImpl impl=new InterfaceImpl();
        impl.server("hello");
        InterfaceImpl2<Integer> impl2=new InterfaceImpl2<>();
        impl2.server(100);
        GenericMethod genericMethod=new GenericMethod();
        genericMethod.show("Hello");
        genericMethod.show(100);
    }
}

标签:String,Generic,System,println,泛型,javaSE,public,out
来源: https://www.cnblogs.com/JasonPro/p/15949560.html