java 泛型详解

来源:互联网 发布:淘宝买武士刀犯法吗 编辑:程序博客网 时间:2024/04/28 15:42

废话不多少,直接上代码



普通泛型

class Point<T>{// 此处可以随便写标识符号,T是type的简称private T var ;// var的类型由T指定,即:由外部指定public T getVar(){// 返回值的类型由外部决定return var ;}public void setVar(T var){// 设置的类型也由外部决定this.var = var ;}};public class GenericsDemo06{public static void main(String args[]){Point<String> p = new Point<String>() ;// 里面的var类型为String类型p.setVar("it") ;// 设置字符串System.out.println(p.getVar().length()) ;// 取得字符串的长度}};----------------------------------------------------------class Notepad<K,V>{// 此处指定了两个泛型类型private K key ;// 此变量的类型由外部决定private V value ;// 此变量的类型由外部决定public K getKey(){return this.key ;}public V getValue(){return this.value ;}public void setKey(K key){this.key = key ;}public void setValue(V value){this.value = value ;}};public class GenericsDemo09{public static void main(String args[]){Notepad<String,Integer> t = null ;// 定义两个泛型类型的对象t = new Notepad<String,Integer>() ;// 里面的key为String,value为Integert.setKey("汤姆") ;// 设置第一个内容t.setValue(20) ;// 设置第二个内容System.out.print("姓名;" + t.getKey()) ;// 取得信息System.out.print(",年龄;" + t.getValue()) ;// 取得信息}};


 通配符

class Info<T>{private T var ;// 定义泛型变量public void setVar(T var){this.var = var ;}public T getVar(){return this.var ;}public String toString(){// 直接打印return this.var.toString() ;}};public class GenericsDemo14{public static void main(String args[]){Info<String> i = new Info<String>() ;// 使用String为泛型类型i.setVar("it") ;// 设置内容fun(i) ;}public static void fun(Info<?> temp){// 可以接收任意的泛型对象System.out.println("内容:" + temp) ;}};

受限泛型

class Info<T>{private T var ;// 定义泛型变量public void setVar(T var){this.var = var ;}public T getVar(){return this.var ;}public String toString(){// 直接打印return this.var.toString() ;}};public class GenericsDemo17{public static void main(String args[]){Info<Integer> i1 = new Info<Integer>() ;// 声明Integer的泛型对象Info<Float> i2 = new Info<Float>() ;// 声明Float的泛型对象i1.setVar(30) ;// 设置整数,自动装箱i2.setVar(30.1f) ;// 设置小数,自动装箱fun(i1) ;fun(i2) ;}public static void fun(Info<? extends Number> temp){// 只能接收Number及其Number的子类System.out.print(temp + "、") ;}};----------------------------------------------------------class Info<T>{private T var ;// 定义泛型变量public void setVar(T var){this.var = var ;}public T getVar(){return this.var ;}public String toString(){// 直接打印return this.var.toString() ;}};public class GenericsDemo21{public static void main(String args[]){Info<String> i1 = new Info<String>() ;// 声明String的泛型对象Info<Object> i2 = new Info<Object>() ;// 声明Object的泛型对象i1.setVar("hello") ;i2.setVar(new Object()) ;fun(i1) ;fun(i2) ;}public static void fun(Info<? super String> temp){// 只能接收String或Object类型的泛型System.out.print(temp + "、") ;}};

泛型接口

interface Info<T>{// 在接口上定义泛型public T getVar() ;// 定义抽象方法,抽象方法的返回值就是泛型类型}class InfoImpl<T> implements Info<T>{// 定义泛型接口的子类private T var ;// 定义属性public InfoImpl(T var){// 通过构造方法设置属性内容this.setVar(var) ;}public void setVar(T var){this.var = var ;}public T getVar(){return this.var ;}};public class GenericsDemo24{public static void main(String arsg[]){Info<String> i = null;// 声明接口对象i = new InfoImpl<String>("汤姆") ;// 通过子类实例化对象System.out.println("内容:" + i.getVar()) ;}};----------------------------------------------------------interface Info<T>{// 在接口上定义泛型public T getVar() ;// 定义抽象方法,抽象方法的返回值就是泛型类型}class InfoImpl implements Info<String>{// 定义泛型接口的子类private String var ;// 定义属性public InfoImpl(String var){// 通过构造方法设置属性内容this.setVar(var) ;}public void setVar(String var){this.var = var ;}public String getVar(){return this.var ;}};public class GenericsDemo25{public static void main(String arsg[]){Info i = null;// 声明接口对象i = new InfoImpl("汤姆") ;// 通过子类实例化对象System.out.println("内容:" + i.getVar()) ;}};


原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 鼻子不通流鼻涕打喷嚏怎么办 一岁半宝宝流鼻涕鼻塞怎么办 没有感昌流鼻涕怎么办 婴儿感冒咳嗽流鼻涕怎么办 小孩经常流鼻子怎么办 5岁宝宝流鼻涕怎么办 小孩鼻涕一直流怎么办 二岁宝宝流鼻涕怎么办 小婴儿有点鼻塞怎么办 宝宝流鼻涕总不好怎么办 孩子鼻炎睡不好怎么办 鼻炎清鼻涕不止怎么办 宝宝持续低烧流鼻涕怎么办 孩子鼻塞不通气怎么办 2月婴儿感冒怎么办 长期流黄鼻涕怎么办 孩子流清水鼻涕怎么办 小孩有点流鼻子怎么办 初生婴儿堵鼻子怎么办? 小孩反复发烧了怎么办 小孩突然发烧了怎么办 40天宝宝鼻塞怎么办 宝宝伤风鼻子不通怎么办 鼻子伤风不通气怎么办 宝宝伤风流鼻子怎么办 十个月婴儿上火怎么办 一个多月宝宝鼻子有鼻屎怎么办 三个月婴儿感冒发烧怎么办 小孩感冒发烧流鼻涕怎么办 小孩感冒发烧反反复复怎么办 宝宝反复发烧39怎么办 一岁婴儿流鼻涕怎么办 四岁宝宝发烧怎么办 小孩流清鼻涕怎么办? 5宝宝光流清鼻涕怎么办 孩子一直流鼻子怎么办 10岁天天流鼻涕怎么办 喉咙痛又痒咳嗽怎么办 60天宝宝流鼻涕怎么办 宝宝流鼻子严重怎么办 鼻炎鼻涕多鼻塞怎么办