亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在java中使用“實例”

在java中使用“實例”

一只名叫tom的貓 2019-10-13 12:08:05
在java中使用“實例”‘instanceof’操作符是用來做什么的?我了解到Java有instanceof接線員。你能詳細說明一下它在哪里使用嗎?它的優點是什么?
查看完整描述

3 回答

?
鳳凰求蠱

TA貢獻1825條經驗 獲得超4個贊

基本上,您檢查對象是否是特定類的實例。當您對具有超類或接口類型的對象具有引用或參數,并且需要知道實際對象是否具有其他類型(通常更具體)時,您通常使用它。

例子:

public void doSomething(Number param) {
  if( param instanceof Double) {
    System.out.println("param is a Double");
  }
  else if( param instanceof Integer) {
    System.out.println("param is an Integer");
  }

  if( param instanceof Comparable) {
    //subclasses of Number like Double etc. implement Comparable
    //other subclasses might not -> you could pass Number instances that don't implement that interface
    System.out.println("param is comparable"); 
  }}

請注意,如果您必須經常使用該操作符,這通常是一個提示,說明您的設計有一些缺陷。因此,在設計良好的應用程序中,您必須盡可能少地使用該操作符(當然,該一般規則也有例外)。



查看完整回答
反對 回復 2019-10-14
?
天涯盡頭無女友

TA貢獻1831條經驗 獲得超9個贊

instanceof用于檢查對象是類的實例、子類的實例還是實現特定接口的類的實例。

在這里閱讀Oracle語言定義的更多內容。


查看完整回答
反對 回復 2019-10-14
?
慕田峪9158850

TA貢獻1794條經驗 獲得超8個贊

instanceof可以用來確定實際物體的類型:

class A { }  class C extends A { } class D extends A { } public static void testInstance(){
    A c = new C();
    A d = new D();
    Assert.assertTrue(c instanceof A && d instanceof A);
    Assert.assertTrue(c instanceof C && d instanceof D);
    Assert.assertFalse(c instanceof D);
    Assert.assertFalse(d instanceof C);}



查看完整回答
反對 回復 2019-10-14
  • 3 回答
  • 0 關注
  • 371 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號