黑马程序员技术交流社区

标题: 自定义泛型类有点晕的可以进来看一下 [打印本页]

作者: 小穿钉    时间: 2015-11-17 12:05
标题: 自定义泛型类有点晕的可以进来看一下
package cn.generic;
/**
* 自定义泛型类
* 注意:一旦使用泛型,不能使用具体对象的方法,因为Object是所有类的基类,所以只能使用Object的方法。
* @author Administrator
*
*/
public class GenericDemo_2 {


        public static void main(String[] args) {
                //创建泛型类对象,在这里对象的泛型明确的类型为String,如果对象的方法没有自定义泛型的话,就必须符合对象的泛型类型。
                CustumGeneric<String> cg = new CustumGeneric<String>();
               
                //此方法有自己的泛型
                cg.show("你好");               
                cg.show(new Integer(8));               
               
                //此方法跟随创建对象的泛型
                cg.print("世界");
               
                //静态方法自定义自己的泛型,静态不能操作对象,用类名直接调用静态方法
                CustumGeneric.method("百家争鸣");
                CustumGeneric.method(new Integer(8));
               
        }


}


/**
* 自定义泛型类
* @author Administrator
*/
class CustumGeneric<T>{
        private T t;


        public T getT() {
                return t;
        }


        public void setT(T t) {
                this.t = t;
        }
        /**
         * 将泛型定义在方法上,定义泛型,使用泛型。
         * @param t
         */
        public<w> void show(w object){
                System.out.println("有自己的泛型:"+object);
        }
        /**
         * 没有自定义泛型,所以能操作的类型只能符合对象的泛型类型
         * @param t
         */
        public void print(T object){
                System.out.println("无自己的泛型:"+object);
        }
        /**
         * 当方法为静态时,不能访问类上定义的泛型,
         * 如果静态方法使用泛型,只能定义在静态方法上
         */
        public static<S>void method(S object){
                System.out.println("静态方法使用泛型"+object);
        }
}


觉得总结的好,就麻烦客官给个赞呗


作者: wome789    时间: 2015-11-17 17:12
必须赞个,挺好的
作者: 洋葱头头    时间: 2015-11-17 21:47
好的谢谢楼主分享
作者: 小穿钉    时间: 2015-11-18 21:18
洋葱头头 发表于 2015-11-17 21:47
好的谢谢楼主分享

谢谢版主的捧场
作者: 苹果核的梦想    时间: 2015-11-19 14:17
学习了,总结的很详细
作者: 袁有福123    时间: 2015-11-19 21:30
很好的总结 谢谢楼主无私的分享  学习到了!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2