本篇文章將為您詳細介紹 Java 中一個重要的關(guān)鍵字 instancesof,內(nèi)容包括 instancesof 關(guān)鍵字的簡述、以及 instancesof 關(guān)鍵字的具體應(yīng)用用途。下面詳情內(nèi)容供大家參考,希望能對大家的學(xué)習(xí)有所幫助。
instanceof
1. instanceof 是Java中的一個關(guān)鍵字,Java中的關(guān)鍵子都是小寫。
2. instanceof關(guān)鍵字的作用是判斷左邊對象是否是右邊類(這里有很多人說是對象,所以注意這里是類,并不是對象)的實例(通俗易懂的說就是:子類對象,或者右邊類本身的對象)返回的boolean類型,true和false。
舉個例子:
public class Dome{
class Perse extends Object{}
class Student extends Perse{}
//這個方法判斷是否是Perse的實例,用instanceof判斷。
void f(Object o){//Object可以接收任何的類型。
if(o instanceof Perse)
System.out.println("你輸入的對象是Perse的實例");
else
System.out.println("你輸入的對象不是Perse的實例");
public static void main(String[] args){
Dome dome =new Doem();
Perse perse =new Perse();
Student student =new Student();
Object object = new Object();
dome.f(/*shutdent或者perse以及object*/);
//結(jié)果:
//輸入的是student和perse那么instanceof 判斷就會是true,if也就執(zhí)行打印語句System.out.println("你輸入的對象是Perse的實例");
//那么輸入object自然instanceof判斷就是false。
原因我們開頭已經(jīng)說的很清楚啦。
//instanceof關(guān)鍵字的作用是判斷左邊對象是否是右邊對象的實例(通俗易懂的說就是:子類,或者右邊類本身的對象)
}
}
使用環(huán)境
public class CastingDemo{
public static void displayObject(Object o){
if(o instanceof Yuan){//判斷是否為圓的對象,不是則往下執(zhí)行判斷else if
System.out.println("圓的面積為:" + ((Yuan)o).mianJi);//這里(Yuan)Object)防止參數(shù)o是Yuan的子類,此方法獲得面積。
System.out.println("圓的直徑為:" + ((Yuan)o).zhiJing);//此方法獲得直徑。
}else if(o instanceof ChangFangXing){
System.out.println("長方形的面積為:" + ((ChangFangXing)o));
}
}
public static void main(String[ ] args){
Object yuan =new Yuan(/*半徑:*/ 1 );//Yuan是圓的對象,參數(shù)是半徑,的出圓的面積和直徑。詳細類就不寫啦,理解就行。
Object changFangXing =new ChangFangXing(/*長寬:*/ 1,1);//ChangFangXing是長方形,參數(shù)是長和寬,的出面積
//因為是靜態(tài)方法并且在本類直接使用,省略 類名.
displayObject(yuan);
displayObject(changFangXing);
}
}
結(jié)果:圓的面積為:3.1415926
圓的直徑為:2.0
長方形的面積為:1.0
這個樣子的使用instanceof增加了代碼的靈活性,如果你有更好的例子可以分享出來一起參考。
以上就是關(guān)于 Java 中關(guān)鍵字 instancesof 的詳細介紹,想要了解更多相關(guān) Java 中其他的關(guān)鍵字內(nèi)容請搜索W3Cschool以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持我們!