内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

java中instanceof與Class等價性的示例分析-創(chuàng)新互聯(lián)

這篇文章主要為大家展示了“java中instanceof與Class等價性的示例分析”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“java中instanceof與Class等價性的示例分析”這篇文章吧。

成都創(chuàng)新互聯(lián)云計算的互聯(lián)網(wǎng)服務提供商,擁有超過13年的服務器租用、雙線服務器托管、云服務器、網(wǎng)站空間、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗,已先后獲得國家工業(yè)和信息化部頒發(fā)的互聯(lián)網(wǎng)數(shù)據(jù)中心業(yè)務許可證。專業(yè)提供云主機、網(wǎng)站空間、域名申請、VPS主機、云服務器、香港云服務器、免備案服務器等。

具體如下。

java 中的instanceof 運算符是用來在運行時指出對象是否是特定類的一個實例。instanceof通過返回一個布爾值來指出,這個對象是否是這個特定類或者是它的子類的一個實例。

實例1(instanceof)

接口Person

public interface Person {
public void eat();
}

實現(xiàn)類People

public class People implements Person {
private int a=0;
 @Override
 public void eat() {
 System.out.println("======"+a);
 
 }

}

子類xiaoming:

public class xiaoming extends People {
private String name;

@Override
public void eat() {
 System.out.println("+++++++++");
}
}

主函數(shù)

public static void main(String[] args) {
 People p=new People();
 xiaoming x=new xiaoming();
 System.out.println(p instanceof Person);
 System.out.println(p instanceof xiaoming); -----2
 System.out.println(x instanceof Person);
 System.out.println(x instanceof People);
 }

注意:上面2處的代碼在編譯時不會報錯。

運行結(jié)果:

true
false
true
true

實例2

package com.test.class_obj;
class Base {
}
class Derived extends Base {
}
public class FamilyVsExactType {
	static void test(Object x) {
		System.out.println("Testing x of type " + x.getClass().getSimpleName());
		System.out.println("-----------------------------------------");
		System.out.println("x instanceof Base " + (x instanceof Base));
		System.out.println("x instanceof Derived " + (x instanceof Derived));
		System.out.println("-----------------------------------------");
		System.out.println("Base.isInstance(x) " + Base.class.isInstance(x));
		System.out.println("Derived.isInstance(x) " +
		        Derived.class.isInstance(x));
		System.out.println("-----------------------------------------");
		System.out.println("x.getClass() == Base.class " +
		        (x.getClass() == Base.class));
		System.out.println("x.getClass() == Derived.class " +
		        (x.getClass() == Derived.class));
		System.out.println("x.getClass().equals(Base.class)) " +
		        (x.getClass().equals(Base.class)));
		System.out.println("x.getClass().equals(Derived.class)) " +
		        (x.getClass().equals(Derived.class)));
		System.out.println("*****************************************");
		System.out.println("*****************************************");
	}
	public static void main(String[] args) {
		test(new Base());
		test(new Derived());
	}
}

輸出內(nèi)容如下:

Testing x of type Base
-----------------------------------------
x instanceof Base true
x instanceof Derived false
-----------------------------------------
Base.isInstance(x) true
Derived.isInstance(x) false
-----------------------------------------
x.getClass() == Base.class true
x.getClass() == Derived.class false
x.getClass().equals(Base.class)) true
x.getClass().equals(Derived.class)) false
*****************************************
*****************************************
Testing x of type Derived
-----------------------------------------
x instanceof Base true
x instanceof Derived true
-----------------------------------------
Base.isInstance(x) true
Derived.isInstance(x) true
-----------------------------------------
x.getClass() == Base.class false
x.getClass() == Derived.class true
x.getClass().equals(Base.class)) false
x.getClass().equals(Derived.class)) true
*****************************************
*****************************************

Process finished with exit code 0

通過以上測試可以得出以下結(jié)論:

  • instanceof() 和 isInstance() 生成的結(jié)果相同

  • equals() 和 == 生成的結(jié)果相同

  • 父類可以是子類的實例,但子類不可以是父類的實例

  • Class 對象比較時,不考慮繼承

以上是“java中instanceof與Class等價性的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

本文題目:java中instanceof與Class等價性的示例分析-創(chuàng)新互聯(lián)
URL標題:http://www.rwnh.cn/article0/gijio.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供響應式網(wǎng)站、微信小程序虛擬主機、動態(tài)網(wǎng)站外貿(mào)建站、全網(wǎng)營銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機網(wǎng)站建設
古浪县| 嘉荫县| 手机| 彩票| 边坝县| 湘潭县| 怀安县| 斗六市| 汝南县| 富锦市| 三亚市| 和顺县| 高平市| 商水县| 乌拉特后旗| 山东| 长顺县| 巴塘县| 报价| 安国市| 丰都县| 舞钢市| 安义县| 扎囊县| 攀枝花市| 平武县| 镇江市| 正安县| 凤台县| 延庆县| 修水县| 文水县| 南开区| 当涂县| 新兴县| 中方县| 桓台县| 东辽县| 七台河市| 如皋市| 娄烦县|