定义接口:

    1. /**
    2. *
    3. * 自定义泛型的接口
    4. *
    5. * 接口用于规范子类的内容 - 写抽象方法
    6. */
    7. package Test17_Demo.Demo10;/*
    8. @create 2020--12--07--16:15
    9. */
    10. public interface MyInterType<T> {
    11. public abstract void method(T t);
    12. }

    定义String类型子类:

    1. /**
    2. * 接口的实现类
    3. *
    4. * 定义类的时候,就是指定接口中数据类型 - 必须实现父类接口中的泛型
    5. *
    6. * 在实现接口的时候,必须实现接口中所有的抽象方法和泛型 - 用于父类中不确定子类中的具体类型的时候使用
    7. */
    8. package Test17_Demo.Demo10;/*
    9. @create 2020--12--07--16:16
    10. */
    11. public class MyClassInter implements MyInterType<String>{
    12. @Override
    13. public void method(String t) {
    14. System.out.println(t);
    15. }
    16. }

    定义Integer类型子类:

    1. /**
    2. * 接口的实现类
    3. *
    4. * 定义类的时候,就是指定接口中数据类型 - 必须实现父类接口中的泛型
    5. *
    6. * 在实现接口的时候,必须实现接口中所有的抽象方法和泛型 - 用于父类中不确定子类中的具体类型的时候使用
    7. */
    8. package Test17_Demo.Demo10;/*
    9. @create 2020--12--07--16:16
    10. */
    11. public class MyClassInter02 implements MyInterType<Integer>{
    12. @Override
    13. public void method(Integer t) {
    14. System.out.println(t);
    15. }
    16. }

    实现类:

    1. /**
    2. * 测试泛型接口 - 在使用的时候才会确定类型
    3. */
    4. package Test17_Demo.Demo10;/*
    5. @create 2020--12--07--16:21
    6. */
    7. public class MyClassInterTest {
    8. public static void main(String[] args) {
    9. MyClassInter myClassInter = new MyClassInter();
    10. //myClassInter.method(123456); - 泛型不匹配
    11. myClassInter.method("ABC");
    12. MyClassInter02 myClassInter02 = new MyClassInter02();
    13. myClassInter02.method(123456);
    14. }
    15. }