定义和使用含有泛型的接口

定义和使用含有泛型的接口

定义格式∶

修饰符interface接口名<代表泛型的变量>{}

/*
  定义含有泛型的接口
 */
public interface GenericInterface<I> {
    public abstract void method(I i);
}

 

public class GenericInterfaceImpl1 implements GenericInterface<String>{
    @Override
    public void method(String i) {
        System.out.println(i);
    }
}
public class GenericInterfaceImpl2<I> implements GenericInterface<I>{
    @Override
    public void method(I i) {
        System.out.println(i);
    }
}
复制代码
/*
 * 测试含有泛型的接口
 */
public class Demo04GenericInterface {
    public static void main(String[] args) {
        //创建GenericInterfaceImpl1对象
        GenericInterfaceImpl1 gi1 = new GenericInterfaceImpl1();
        gi1.method("字符串");//字符串
        
        //创建GenericInterfaceImpl1对象
        GenericInterfaceImpl2<Integer> gi2 = new GenericInterfaceImpl2<>();
        gi2.method(8);
        GenericInterfaceImpl2<Double> gi3 = new GenericInterfaceImpl2<>();
        gi3.method(8.8);
    }
}
复制代码

 

 

复制代码
public class GenericClass<E> {
    private E name;

    public E getName() {
        return name;
    }

    public void setName(E name) {
        this.name = name;
    }
}
复制代码
复制代码
public class Demo02Test {

    /**
     * 测试类
     *
     */
    public static void main(String[] args) {
        //不写泛型默认为Object类型
        GenericClass gc = new GenericClass();
        gc.setName("qqqq");
        Object name = gc.getName();
        System.out.println(name);

        /**
         * 创建GenericClass对象 泛型使用Integer类型
         */
        GenericClass<Integer> gc2 = new GenericClass<Integer>();
        gc2.setName(1);
        Integer name1 = gc2.getName();
        System.out.println(name1);
        /**
         * 创建GenericClass对象,泛型使用String类型
         */
        GenericClass<String> gc3 = new GenericClass<String>();
        gc3.setName("qqqqqqqq");
        String name2 = gc3.getName();
        System.out.println(name2);
    }
}
复制代码

 

posted @   漁夫  阅读(29)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示