您好,登錄后才能下訂單哦!
本篇內容介紹了“java關鍵字的使用方法”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
在平時寫代碼的時候我們會經常用到void,我們都知道他代表著方法不返回任何東西,但這只是表面意思,面試的時候也會經常會問到,這篇文章有必要對其進行一個深入的分析。
1、void關鍵字到底是什么類型?
java不像是php這些弱類型的語言,java語言是強類型的,意思就是說我們的方法必須要有一個確定類型的返回值,舉個例子
public String test(){};
上面這個test方法有一個String類型的返回值,我們也可以返回int等基礎類型的。不管返回什么都要返回一個確定的類型。
現在!!!出現了一個問題,我們的方法也可以返回void,那么void肯定也是一種數據類型吧。但是java好像只提供了兩種數據類型:基本數據類型和引用數據類型。那這個void到底是什么呢?其實你可以把他理解成一個特殊的數據類型也可以理解成一個方法的修飾符。
2、從Void看void
我們的基礎類型好像都有一個封裝類,比如int基本類型的封裝類是Integer,char基本類型的封裝類是Character,void也不例外,他也有一個封裝類叫做Void,沒錯就是把“v”換成了大寫的V。你可以這樣去理解Void:
其實Void類是一個不可實例化的占位符類,用來保存一個引用代表Java關鍵字void的Class對象。
Void類型不可以繼承和實例化。而且修飾方法時候必須返回null。
下面我們再來研究研究這個Void。
(1)確定類型:Void是一個類,void就是一個基本類型
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)使用場景:在反射中確定某個函數的返回類型
public class Test {
// 在這里定義兩個方法:
//(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)使用場景:泛型中使用
Future
Void也用于無值的Map中,例如Map<,Void>這樣map將具Set有一樣的功能。
“java關鍵字的使用方法”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。