zoukankan      html  css  js  c++  java
  • 泛型类与方法混合使用,及静态方法使用泛型

    泛型类 与泛型方法 混合使用

    静态方法 与 泛型

    package javabasis.fanxing;
    
    import org.junit.Test;
    
    /*
    *
    * 泛型类与泛型方法的混合使用
    * 1. 泛型类对应的方法 及 泛型方法区别
    * 2. 参数定义名称
    * 3. 静态方法使用泛型
    *
    * */
    class FanXingClassAndMethod<T> {
    
        private T param;
    
        public FanXingClassAndMethod(T param) {
            this.param = param;
        }
    
        //泛型类中的方法,非泛型方法
        public T getParam11(T param) {
            this.param = param;
            return param;
        }
    
        //泛型方法
        public <T> T getParam21(T param) {
    
            return param;
        }
    
        //此方法用于对比, 编译器直接会报异常,因为此方法是依附于泛型类定义的,没有K类型,只有T类型
    //    public K getParam12(K param) {
    //        return param;
    //    }
    
        //泛型方法  可以定义K不受泛型类影响
        public <K> K getParam22(K param) {
    
            return param;
        }
    
        //静态方法 使用泛型,只能声明为泛型方法,无法依托于泛型类,因为静态方法早于类编译
        public static <T> T staticMethod(T param) {
            return param;
        }
    }
    
    
    public class NO3FanXing1 {
    
        @Test
        public void test() {
            /*
            * 1. 泛型类中的方法与 泛型方法比较
            * */
    
            FanXingClassAndMethod<Integer> fanXingClassAndMethod = new FanXingClassAndMethod<>(456);
            //泛类中的方法,类型限制为Integer,无法是String
            fanXingClassAndMethod.getParam11(454545);
    //        fanXingClassAndMethod.getParam11("dsfadfsf");
    
            //泛型类方法则不受限制
            fanXingClassAndMethod.getParam21("123123213");
    
        }
    
    }
    
    
  • 相关阅读:
    大小端模式
    深入理解c/c++ 内存对齐
    示波器使用
    C结构体
    51单片机内存问题
    S5PV210启动过程详解1
    程序中内存从哪里来
    再论typedef
    ARM体系结构总结
    MMU实验实验
  • 原文地址:https://www.cnblogs.com/yaoxublog/p/10944608.html
Copyright © 2011-2022 走看看