簡體   English   中英

對象通用超類Java instanceof

[英]Object universal superclass java instanceof

有人可以提供有關何時(x instancef Object)不等於true的解釋嗎? 這是完整的問題嗎?

Object是Java中的通用超類,它是所有其他類的超類。 但是,表達式x instanceof Object並不總是等於true。 x設計一個聲明來證明這一點?

null不是任何類的實例,因此使用instanceof運算符返回false

Object x = null;
if (!x instanceof Object) {
    System.out.println ("we get here since X is null");
}

顯然, null答案是“正確答案”。 但是,這里有一個古怪的選擇:

public class Test {

  private class Object {}

  public static void main(String[] args) {
    java.lang.Object s = new String("foo");    
    System.out.println((s instanceof Object));
  }
}

打印

false

在這里,我們濫用Object不總是引用java.lang.Object事實。

如果xnullinstanceof將返回false

Java中“ obj instanceof Object”何時為假?

如果Object a=null; 然后a instanceof Object返回false

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM