美文网首页
day15-08-集合框架(泛型类)

day15-08-集合框架(泛型类)

作者: 姗婷 | 来源:发表于2020-06-23 08:22 被阅读0次
    /*
    class Tool
    {
        private Worker w;
        public void setWorker(Worker w)
        {
            this.w = w;
        }
        public Worker getWorker()
        {
            return w;
        }
    }
    */
    
    class Student
    {
    }
    class Worker
    {
    }
    //泛型前做法
    class Tool
    {
        private Object obj;
        public void setObject(Object obj)
        {
            this.obj = obj;
        }
        public Object getObject()
        {
            return obj;
        }
    }
    
    /*泛型类
    什么时候定义泛型类?
    当类中要操作的引用类型数据不确定的时候,早起定义Object来完成扩展,现在定义泛型类来完成扩展。
    */
    class Utils<QQ>
    {
        private QQ q;
        public void setObject(QQ q)
        {
            this.q = q;
        }
        public QQ getObject()
        {
            return q;
        }
    
    }
    
    class  GenericDemo3
    {
        public static void main(String[] args) 
        {
            Utils<Worker> u = new Utils<Worker>();
            u.setObject(new Worker());//传入的是Student,编译时提示类型转换异常,提高安全性
            Worker w = u.getObject();//不需要强转了,
    
            /*
            Tool t = new Tool();
            t.setObject(new Worker());//如果传入的是Student,运行时提示类型转换异常ClassCastException
            Worker w = (Worker)t.getObject();
            */
    
        }
    }
    

    相关文章

      网友评论

          本文标题:day15-08-集合框架(泛型类)

          本文链接:https://www.haomeiwen.com/subject/fdioxktx.html