学习Java之泛型

泛型<T , K>

泛型(只能传递引用数据类型)
        作用:将数据类型作为参数进行传递
    泛型的定义:
        eg:
            <T,K,M,...>
                相当于占位符,没有使用时,无法确定其数据类型.
    泛型用于的位置
        方法
        	语法:
                    访问权限修饰符 修饰符 <自定义泛型>返回值类型 方法名(形参列表){

                    }
        	优点: 
        			该方法任意一处不确定的数据类型的地方,都可以使用泛型.
        	举例:
                    public class FanXing {
                        public static void main(String[] args) {
                            String s = text("yyy");
                            Integer i = text02(99);
                        }
                        public static <X> X text01(X xx){
                            return xx;
                           }
                        public static <K> K text02(K kk){
                            return kk;
                           }
                    }
        类
        	语法:
                    访问权限修饰符 class 类名<自定义泛型>{

                    }
        	优点: 
        		该类任意一处不确定的数据类型的地方,都可以使用泛型.
        	举例:
                    public class FanXing02  {
                        public static void main(String[] args) {
                            Father<String> p1 = new Father<String>("小飞");
                            Father<Integer> p2 = new Father<Integer>(12);

                            son<Integer> s =  new son<Integer>();
                        }
                    }
                    class Father <K>{
                        private K k;
                        public Father(K k) {

                        }
                        public Father() {

                        }
                        public void text01(K k) {

                        }
                        public K text02(K k) {

                            return k;
                        }
                    }
                    //子类继承有泛型的父类,子类的泛型要包含父类的泛型;
                    //创建对象的时候,确定类型
                    class son<T> extends Father<T>{

                    }
        接口中
			语法:
                    访问权限修饰符 interface接口名<自定义泛型>{

                    }
			优点: 
              	   //该接口任意一处不确定的数据类型的地方,都可以使用泛型.
                   //公共常量不能使用泛型
                   //公共静态方法不能使用泛型
                   //default修饰的普通方法可以使用
                        //抽象方法可以使用
			举例:
				public interface FanXing03 <Q>{


                    default Q  Text(Q q) {
                        return q;
                    }

                    Q text02(Q q);
                }

                //子接口继承有泛型的父接口,子接口的泛型要包含父接口的泛型;
                //创建对象的时候,确定类型
                class myClass<Q> implements FanXing03<Q>{

                    @Override
                    public Q text02(Q q) {
                        // TODO Auto-generated method stub
                        return null;
                    }	
                }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值