• 泛型接口


    一,Demo1
    public interface Demo <T>{
        public void print(T param);
    }

    public class DemoImpl1<T> implements Demo<T> {
        public void print(T param)
        {
            System.out.print("param="+param);
        }
    }
    public class GenDemo15 {
        public static void main(String[] args)
        {
            Demo<String> demo=new DemoImpl1<String>();
            demo.print("hello!");
        }
    }

    二,Demo2

    public interface Demo <T>{
        public void print(T param);
    }
    public class DemoImpl2 implements Demo<DemoImpl2>{
        public void print(DemoImpl2 param)
        {
            System.out.print(param);
        }
    }
    public class GenDemo15 {
        public static void main(String[] args)
        {
            //实现泛型接口1
            //Demo<String> demo=new DemoImpl1<String>();
            //demo.print("hello!");
            //实现泛型接口2
            Demo<DemoImpl2> demo=new DemoImpl2();
            demo.print(new DemoImpl2());
        }
    }

    三,泛型方法

    泛型除了在类中定义之外,还可以在方法上定义,而且在方法上使用泛型,此方法所在的类不一定是泛型的操作类。

    public class GenDemo2 {
        public <T> T print(T param)
        {
            return param;
        }   
    }

    public class GenDemo7 {

        public static void main(String args[])
        {
            GenDemo2 d2=new GenDemo2();
            System.out.print(d2.print(1));
            Integer i[]=fun(1,2,3,4,5,6);
            for(int j:i)
                System.out.print(j);
        }
        public static <T> T[] fun(T...param)
        {
            return param;
        }
    }
    四,泛型嵌套


    public class Info<T> {
        public T param;

        public T getParam() {
            return param;
        }

        public void setParam(T param) {
            this.param = param;
        }
    }
    public class Person<T> {
    public T info;
    public T getInfo() {
        return info;
    }
    public void setInfo(T info) {
        this.info = info;
    }
    }

    public class Test {

        public static void main(String args[])
        {
            Person<Info<String>> per=new Person<Info<String>>();

            per.setInfo(new Info<String>());
            per.getInfo().setParam("java");
            System.out.print(per.getInfo().getParam());
        }
       
    }

  • 相关阅读:
    第四次作业
    第三周
    作业
    第一周学习计划
    小组作业进度(只做了大概还未加内容)
    第六次作业
    第五次作业
    第四次作业
    复习心得 JAVA异常处理
    预习心得
  • 原文地址:https://www.cnblogs.com/jinzhengquan/p/1941948.html
Copyright © 2020-2023  润新知