定义和使用含有泛型的类和定义和使用含有泛型的方法

泛型,用来灵活地将数据类型应用到不同的类方法中接口中。将数据类型作为参数进行传递

定义和使用含有泛型的类

定义格式
java修饰符 class 类名<代表泛型的变量>

public class Test {
    public static void main(String[] args) {
        //不写泛型默认为Object类型
//        GenericClass gc = new GenericClass();
//        gc.setName("只能是字符串");

		//创建对象泛型使用String类型
        GenericClass<Integer> genericClass = new GenericClass<>();
        genericClass.setName(123);

        System.out.println(genericClass.getName());
    }
}

/**
 * 定义一个含有泛型的类,模拟ArrayList集合
 * 泛型是一个位置的数据类型,当我们不确定什么数据类型的时候,可以使用泛型
 * 泛型可以接受任意的数据类型,可以使用Integer String Student
 * 创建对象的时候确定泛型的数据类型
 */
class GenericClass<E>{
    private E name;

    public E getName() {
        return name;
    }

    public void setName(E name) {
        this.name = name;
    }
}

定义含有泛型的方法:泛型定义在方法的修饰符和返回值类型之间

含有泛型的方法,在调用方法的时候确定泛型的数据类型 传递什么数据类型,泛型就是什么类型
定义格式:
java 修饰符<代表泛型的变量> 返回值类型 方法名(参数){}

例如:

public class Test {
    public static void main(String[] args) {
        /**
         * 测试含有泛型的方法
         */
        GenericMethod gm = new GenericMethod();
        gm.method01("abc");
        gm.method01(1);
        gm.method01(true);


        gm.method02("静态方法,不建创建使用");
    }
}

/**
 * 定义含有泛型的方法:泛型定义在方法的修饰符和返回值类型之间
 *
 */
class GenericMethod{
    public <M> void method01(M m){
        System.out.println(m);
    }

    public static <S> void method02(S s){
        System.out.println(s);
    }
}
posted @ 2022-07-05 10:18  我滴妈老弟  阅读(55)  评论(0编辑  收藏  举报