<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      JAVA基礎--泛型

      JAVA基礎--泛型

      一、作用

      • 泛化、參數化類型。所操作的數據類型被指定為一個參數;
      • 類型安全。編譯時驗證類型,如果編譯時正常,運行時就不會出現ClassCastException(類型轉換異常) 異常;
      • 消除強制類型轉換。泛型可以消除源代碼中的許多強制類型轉換,這樣可以使代碼更加可讀,并減少出錯的機會。

      二、泛型的聲明

      格式:<T>
      標識符一般使用單個大寫字母,常用 T ,含有Type的意思;
      包含多個參數類型時,可以用逗號隔開;例如:<K,V>

      三、泛型類

      定義

      class 類名 <T,R...>{
      
      }
      
      • 類中的普通成員、方法可以使用類的泛型
      • 靜態成員、方法無法使用類的泛型。因為類加載時,對象還未初始化,無法確定泛型的具體類型;
      • 泛型類的類型在對象初始化時確定;
      • 對象初始化時未指定類型,默認類型為Object;

      例:

      public class GenericsTest<T> {
      
      	private T member;
      	// 該方法為普通方法,這里的 T 為返回值類型,具體的數據類型在對象創建的時候定義
      	public T getValue(List<T> a){
      		return a.get(0);
      	}
      }
      

      四、泛型接口

      定義

      interface 接口名 <T,R......>{
      
      }
      
      • 泛型接口類的泛型類型,在繼承接口或實現接口時確定
      • 其他特性與泛型類相同
      interface GenericsTest<T> {
      
      	T value;
      	// 該方法為普通方法,這里的 T 為返回值類型,具體的數據類型在對象創建的時候定義
      	T getValue();
      }
      // 繼承
      interface StingTest extends  GenericsTest<String>{
      	
      }
      
      // 實現
      class StringClass implements GenericsTest<String>{
      	private String value;
      	@Override
      	public String getValue(){
      		return this.value;
      	}
      }
      

      五、泛型方法

      修飾符<T,R...> 返回類型 方法名(參數列表) {
      
      }
      
      • 普通類或泛型類中都可以定義泛型方法
      • 當泛型方法調用時類型會被確定
      • 注意區分普通方法和泛型方法的區別,泛型訪問有泛型聲明 <T>
      public class GenericsTest<T> {
      
          // 該方法為普通方法,這里的 T 為返回值類型,具體的數據類型在對象創建的時候定義
          public T getValue(List<T> a){
              return a.get(0);
          }
      
          // 靜態屬性和靜態方法不能直接使用類的泛型作為參數類型,類加載時對象還沒定義,無法確定T代表的具體數據類型
      //    public static T getValue1(List<T> a){
      //        return a.get(0);
      //    }
      
          // 該方法聲明了<T> , 是泛型方法,即使是靜態方法也可以使用
          public static <T> T getValue2(T a){
              return a;
          }
      
          // 方法中使用 非類聲明的泛型類型 時,需要另外聲明。 如方法:getValue4
      //    public E getValue3(List<E> a){
      //        return a.get(0);
      //    }
      
          // 聲明了 方法 返回的泛型<E>
          public static <E> E getValue4(List<E> a){
              return a.get(0);
          }
      }
      

      六、類型通配符 "?"

      • <?>:支持任意泛型類型

      • <? extends A>:支持A類以及A類的子類,規定了泛型的上限

      • <? super A>:支持A類以及A類的父類,不限于直接父類,規定了泛型的下限

      posted @ 2023-02-04 17:14  殘忍的幻象飯團  閱讀(46)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 中文字幕无码不卡一区二区三区| 亚洲精品日韩在线观看| 日韩精品中文字幕国产一| 一区二区三区自拍偷拍视频| 九九久久精品国产免费看小说| 国产黄大片在线观看画质优化| 久久久无码精品亚洲日韩蜜臀浪潮 | 国产无套内射又大又猛又粗又爽| 久久精品一区二区三区综合| 色欲狠狠躁天天躁无码中文字幕| 翼城县| 亚洲这里只有久热精品伊人| 亚洲鸥美日韩精品久久| 日日噜噜夜夜狠狠久久蜜桃| 老熟女熟妇一区二区三区| 成人免费A级毛片无码片2022 | 边添小泬边狠狠躁视频| 漂亮人妻被强中文字幕久久| 99久久精品国产亚洲精品| 精品久久久久久无码中文野结衣| 色香欲天天影视综合网| 手游| 欧洲亚洲色一区二区色99| 国产情侣激情在线对白| 狠狠躁夜夜躁人人爽天天| 日本人一区二区在线观看| 人妻av无码系列一区二区三区| 国偷自产av一区二区三区| 18禁动漫一区二区三区| 久久精品国产亚洲av天海翼| 成年入口无限观看免费完整大片| 国产精品进线69影院| 亚洲爆乳WWW无码专区| 国产成人精品免费视频大全| 俄罗斯美女真人性做爰| 国产99视频精品免费视频36| 国产成人高清亚洲综合| 亚洲最大的成人网站| 国产精品大片中文字幕| 激烈的性高湖波多野结衣| 少妇熟女视频一区二区三区|