Java集合框架--泛型类 & 泛型接口

Posted Z && Y

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java集合框架--泛型类 & 泛型接口相关的知识,希望对你有一定的参考价值。

1. 泛型类


1.1 泛型类的定义:

myGeneric.java

/**
 * 泛型类
 * 语法:类名<T>
 * T是类型占位符,表示一种引用类型,编写多个使用逗号隔开
 */
public class myGeneric<T> {
    //1.创建泛型变量
    //不能使用new来创建,因为泛型是不确定的类型,也可能拥有私密的构造方法。
    T t;

    //2.泛型作为方法的参数
    public void show(T t) {
        System.out.println(t);
    }

    //泛型作为方法的返回值
    public T getT() {
        return t;
    }
}

1.2 泛型类的使用

TestGeneric.java

package list;

/**
 * 注意:
 * 1.泛型只能使用引用类型
 * 2.不同泛型类型的对象不能相互赋值
 */
public class TestGeneric {
    public static void main(String[] args) {
        //使用泛型类创建对象
        myGeneric<String> myGeneric1 = new myGeneric<>();
        myGeneric1.t = "Tian";
        System.out.println("myGeneric1.t: " + myGeneric1.t);
        myGeneric1.show("我是泛型的内容");
        System.out.println();

        myGeneric<Integer> myGeneric2 = new myGeneric<>();
        myGeneric2.t = 10;
        System.out.println("myGeneric2.t: " + myGeneric2.t);
        myGeneric2.show(30);
    }
}

运行结果


2. 泛型接口


2.1 创建泛型接口:

MyInterface.java

package generic;

/**
 * 泛型接口
 * 语法:接口名<T>
 * 注意:不能创建泛型静态常量
 */
public interface MyInterface<T> {
    //创建常量 接口中默认是 public static final修饰
    double PI = 3.1415926;

    T server(T t);
}

2.2 普通类实现泛型接口:

普通类实现泛型接口需要指明具体类型

MyInterfaceImp0l.java

package generic;

/**
 * Description: 实现接口的时候确定泛型类
 */
public class MyInterfaceImp0l implements MyInterface<String> {
    @Override
    public String server(String s) {
        return s;
    }
}

2.3 泛型类实现泛型接口:

泛型类实现泛型接口不需要指明具体类型

MyInterfaceImpl02.java

package generic;

/**
 * Description: 实现接口时不确定泛型类
 */
public class MyInterfaceImpl02<T> implements MyInterface<T> {
    @Override
    public T server(T t) {
        return t;
    }
}

2.4 测试代码:

Test.java

package generic;

/**
 * Description: 测试泛型接口实现类
 */
public class Test {
    public static void main(String[] args) {
        System.out.println("普通类实现泛型接口: ");
        MyInterfaceImp0l c1 = new MyInterfaceImp0l();
        System.out.println(c1.server("普通类...\\n"));

        System.out.println("泛型类实现泛型接口: ");
        MyInterfaceImpl02<Integer> c2 = new MyInterfaceImpl02<>();
        System.out.println(c2.server(1585526224));
    }
}

运行结果:



以上是关于Java集合框架--泛型类 & 泛型接口的主要内容,如果未能解决你的问题,请参考以下文章

JAVA-初步认识-常用对象API(集合框架-泛型-泛型接口)

javaSE 集合框架—— 泛型

JAVA-初步认识-常用对象API(集合框架-泛型-泛型类)

java--泛型--泛型接口&泛型方法

JAVA-初步认识-常用对象API(集合框架-泛型-泛型限定-上限)

Java的泛型---(英雄联盟集合嵌套案例)