溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

java關(guān)鍵字的使用方法

發(fā)布時(shí)間:2021-07-28 18:03:31 來源:億速云 閱讀:171 作者:chen 欄目:大數(shù)據(jù)

本篇內(nèi)容介紹了“java關(guān)鍵字的使用方法”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!


在平時(shí)寫代碼的時(shí)候我們會(huì)經(jīng)常用到void,我們都知道他代表著方法不返回任何東西,但這只是表面意思,面試的時(shí)候也會(huì)經(jīng)常會(huì)問到,這篇文章有必要對(duì)其進(jìn)行一個(gè)深入的分析。

1、void關(guān)鍵字到底是什么類型?

java不像是php這些弱類型的語言,java語言是強(qiáng)類型的,意思就是說我們的方法必須要有一個(gè)確定類型的返回值,舉個(gè)例子

public String test(){};
 

上面這個(gè)test方法有一個(gè)String類型的返回值,我們也可以返回int等基礎(chǔ)類型的。不管返回什么都要返回一個(gè)確定的類型。

現(xiàn)在?。?!出現(xiàn)了一個(gè)問題,我們的方法也可以返回void,那么void肯定也是一種數(shù)據(jù)類型吧。但是java好像只提供了兩種數(shù)據(jù)類型:基本數(shù)據(jù)類型和引用數(shù)據(jù)類型。那這個(gè)void到底是什么呢?其實(shí)你可以把他理解成一個(gè)特殊的數(shù)據(jù)類型也可以理解成一個(gè)方法的修飾符。

2、從Void看void

我們的基礎(chǔ)類型好像都有一個(gè)封裝類,比如int基本類型的封裝類是Integer,char基本類型的封裝類是Character,void也不例外,他也有一個(gè)封裝類叫做Void,沒錯(cuò)就是把“v”換成了大寫的V。你可以這樣去理解Void:

其實(shí)Void類是一個(gè)不可實(shí)例化的占位符類,用來保存一個(gè)引用代表Java關(guān)鍵字void的Class對(duì)象。

Void類型不可以繼承和實(shí)例化。而且修飾方法時(shí)候必須返回null。

下面我們?cè)賮硌芯垦芯窟@個(gè)Void。

(1)確定類型:Void是一個(gè)類,void就是一個(gè)基本類型

public class Test {
    public static void main(String[] args) {
        System.out.println(Void.class); 
        System.out.println(void.class); 
    }
}
//output
//class java.lang.Void
//void
 

(2)基本使用:必須且只能返回null

public class Test {
     //返回void,return可有可無
    public void a1() {
        return;
    }
    //必須且只能返回null
    public Void a2() {
        return null; 
    }
}
 

(3)使用場(chǎng)景:在反射中確定某個(gè)函數(shù)的返回類型

public class Test {
    // 在這里定義兩個(gè)方法:
    //(1)a方法返回void
    //(2)b方法返回int
    public void a() {}
    public int b() {
        return 1;
    }
    public static void main(String args[]) {
        for (Method method : Test.class.getMethods()) {
            if (method.getReturnType().equals(Void.TYPE)) {
                System.out.println("返回void的方法是:"+method.getName());
            }
            else if(method.getReturnType().equals(Integer.TYPE)) {
                System.out.println("返回int的方法是:"+method.getName());
            }
        }
    }
}
//output
//返回void的方法是:main
//返回int的方法是:b
//返回void的方法是:a
 

(4)使用場(chǎng)景:泛型中使用

Future用來保存結(jié)果。Future的get方法返回結(jié)果(類型為T)。但如果操作并沒有返回值呢?這種情況下就可以用Future表示。當(dāng)調(diào)用get后結(jié)果計(jì)算完畢則返回后將會(huì)返回null。

Void也用于無值的Map中,例如Map<,Void>這樣map將具Set有一樣的功能。

“java關(guān)鍵字的使用方法”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI