zoukankan      html  css  js  c++  java
  • 泛型-java编程思想笔记

    1,泛型定义
        泛型,即参数化类型,使得代码更加的通用。不在局限于某个类或者接口,使得方法更加的松耦合。
    2,泛型的目的
        泛型的目的之一就是用来指定容器类要持有什么类型的对象,而且由编译器保证类型的正确性。
        泛型的核心理念就是告诉编译器你想使用什么类型,然后编译器帮你处理一切细节。
    如下的三段代码,完全可以看出使用泛型的优势:

    package com.jing.test1;
    public class Automobile {
        private Automobile a;
        /**
         * @return the a
         */

        public Automobile getA() {
            return a;
        }
        /**
         * @param a
         *            the a to set
         */

        public void setA(Automobile a) {
            this.a = a;
        }
    }

      

     package com.jing.test1;
    public class Holder2 {
        private Object a;
        /**
         * @return the a
         */

        public Object getA() {
            return a;
        }
        /**
         * @param a
         *            the a to set
         */

        public void setA(Object a) {
            this.a = a;
        }
        
        public static void main(String[] args) {
            
            Holder2 h2 = new Holder2();
            h2.setA(new Automobile());
        }
    }

    package com.jing.test1;
    public class Holder3<T> {
        private T a;
        /**
         * @return the a
         */

        public T getA() {
            return a;
        }
        /**
         * @param a
         *            the a to set
         */

        public void setA(T a) {
            this.a = a;
        }
        public static void main(String[] args) {
            Holder3<Automobile> h3 = new Holder3<Automobile>();
            h3.setA(new Automobile());
        }
    }

    3,元组:
        元组(tuple),将一组对象直接打包存储于某单衣对象中。
        package com.jing.test2;
    /**
     * 
     * @ClassName: TwoTuple
     * @Description: 当前元组对象持有两个对象
     * @author JerryJing
     * @date 2014年5月18日 下午2:59:35
     * @version V1.0
     * @param <A>
     * @param <B>
     */

    public class TwoTuple<A, B> {
        public final A first;//申明为final,实现安全性
        public final B second;
        /**
         * 
         * <p>
         * Title:TwoTuple.java
         * </p>
         * <p>
         * Description: 构造函数
         * </p>
         * 
         * @param first
         * @param second
         */

        public TwoTuple(A first, B second) {
            super();
            this.first = first;
            this.second = second;
        }
        /**
         * toString
         */

        @Override
        public String toString() {
            return "TwoTuple [first=" + first + ", second=" + second + "]";
        }
    }


















    欢迎转载,但转载请注明原文链接[博客园: http://www.cnblogs.com/jingLongJun/]
    [CSDN博客:http://blog.csdn.net/mergades]。
    如相关博文涉及到版权问题,请联系本人。
  • 相关阅读:
    Windows 10 开发日记(二)-- 手势顺序调研
    Windows 10 开发日记(一) -- 手势通览
    开篇说两句
    我从上海回苏州了,你懂的!
    数组名相关
    指针相关笔记
    static相关
    输入分式,输出化简式的C语言算法
    语句界定
    switch相关
  • 原文地址:https://www.cnblogs.com/jingLongJun/p/4491083.html
Copyright © 2011-2022 走看看