欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

目錄

柚子快報(bào)邀請(qǐng)碼778899分享:開(kāi)發(fā)語(yǔ)言 Java 泛型

柚子快報(bào)邀請(qǐng)碼778899分享:開(kāi)發(fā)語(yǔ)言 Java 泛型

http://yzkb.51969.com/

?

一,3種泛型方式:泛型類(lèi)、泛型接口、泛型方法

泛型類(lèi)

//此處T可以隨便寫(xiě)為任意標(biāo)識(shí),常見(jiàn)的如T、E、K、V等形式的參數(shù)常用于表示泛型

//在實(shí)例化泛型類(lèi)時(shí),必須指定T的具體類(lèi)型

public class Generic{

? ? private T key;

????public Generic(T key) {

????????this.key = key;

????}

????public T getKey(){

????????return key;

????}

}

泛型接口

public interface Generator {

????public T next();

}

// 實(shí)現(xiàn)泛型接口時(shí),可以傳入或者不傳實(shí)際類(lèi)型:

public class FruitGenerator implements Generator

public class FruitGenerator implements Generator

泛型方法

// 只有聲明了的方法才是泛型方法,泛型類(lèi)中的使用了泛型的成員方法并不是泛型方法

// 此處T可以隨便寫(xiě)為任意標(biāo)識(shí),常見(jiàn)的如T、E、K、V等形式的參數(shù)常用于表示泛型

public T genericMethod(Class tClass) {

T instance = tClass.newInstance();

return instance;

}

靜態(tài)方法要使用泛型的話(huà),必須將靜態(tài)方法也定義成泛型方法?

public class StaticGenerator {

????public static void show(T t){

????}

}

泛型方法中添加上下邊界的時(shí)候,必須在權(quán)限聲明與返回值之間的上添加上下邊界,即在泛型聲明的時(shí)候添加。

// 編譯器會(huì)報(bào)錯(cuò)

public T showKeyName(Generic container)

public T showKeyName(Generic container){

????System.out.println("container key :" + container.getKey());

????T test = container.getKey();

????return test;

}

? ? ? ? ? ? ? ? ? ?

二,Tips

1,類(lèi)型擦除:泛型類(lèi)型只在編譯階段有效。

2,不能創(chuàng)建一個(gè)確切類(lèi)型的泛型數(shù)組,而使用通配符?是可以的。

[?] List[] ls =

new

ArrayList[10]

[?] List[] ls =

new ArrayList[10];

[?] List[] ls =

new

ArrayList[10];

3,無(wú)法對(duì)泛型代碼直接使用

instanceof

關(guān)鍵字,而使用通配符?是可以的。

[?]

list??

instanceof??

ArrayList

[?]?

list

instanceof

ArrayList

4,注意兩種繼承情況

① 第一種

public void showKeyValue(Generic obj){

????Log.d("泛型測(cè)試","key value is " + obj.getKey());

}

Generic gInteger = new Generic(123);

Generic gNumber = new Generic(456);

[?] showKeyValue(gNumber);

[?] showKeyValue(gInteger); //編譯報(bào)錯(cuò)

② 第二種

class Fruit {

????@Override

????public String toString() {

????????return "fruit";

????}

}

class Apple extends Fruit {

????@Override

????public String toString() {

????????return "apple";

????}

}

class GenerateTest {

????public void show_1(T t) {

????????System.out.println(t.toString());

????}

}

public static void main(String[] args) {

????Apple apple = new Apple();

????GenerateTest generateTest = new GenerateTest();

????//apple是Fruit的子類(lèi),所以這里可以

?? ?[?]generateTest.show_1(apple);

}? ??

柚子快報(bào)邀請(qǐng)碼778899分享:開(kāi)發(fā)語(yǔ)言 Java 泛型

http://yzkb.51969.com/

參考文章

評(píng)論可見(jiàn),查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。

轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/19033281.html

發(fā)布評(píng)論

您暫未設(shè)置收款碼

請(qǐng)?jiān)谥黝}配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪(fǎng)問(wèn)

文章目錄