instanceof與getClass的區別

2021-08-18 14:27:53 字數 695 閱讀 6857

在比較乙個類是否和另乙個類屬於同乙個類例項的時候,我們通常可以採用instanceof和getclass兩種方法通過兩者是否相等來判斷,但是兩者在判斷上面是有差別的,下面從**中看看區別:

public class test  

public static void main(string args)

} class parent

class child extends parent

/* 輸出:

x instanceof parent: true

x instanceof child: false

x getclass parent: true

x getclass child: false

---------------------------

x instanceof parent: true

x instanceof child: true

x getclass parent: false

x getclass child: true

*/

從程式輸出可以看出,instanceof進行型別檢查規則是:你屬於該類嗎?或者你屬於該類的派生類嗎?而通過getclass獲得型別資訊採用==來進行檢查是否相等的操作是嚴格的判斷。不會存在繼承方面的考慮

fgetc 與getc 的區別

fgetc 定義函式 int fgetc file stream 函式說明 fgetc 從引數stream所指的檔案中讀取乙個字元。若讀到檔案尾而無資料時便返回eof。返回值 fgetc 會返回讀取到的字元,若返回eof則表示到了檔案尾。getc 功 能 從流中取字元 用 法 int getc fi...

c語言的getchar 與getc 詳解

int getchar 標註輸入,通常為鍵盤輸入int getc file stream 從檔案讀取字元int putchar int c 將指定的字元輸出到標準終端 螢幕 int putc int c,stream 將指定的字元輸出到指定的輸出流中 檔案或螢幕 例如 char a a putcha...

instanceof與型別轉化

j a中用來判斷兩個類是否有無父子關係 能否編譯通過 建立person類的兩個子類student類和teacher類 package com.yuanyu.oop public static void main string args package com.yuanyu.oop public cl...