java 文法 java沒學好,休想學好安卓!

來源:互聯網
上載者:User

標籤:

int...a 裡面的...表示可變參數,也就是說這是一個長度不定的數組

instanceof :

instanceof關鍵字用於判斷一個參考型別變數所指向的對象是否是一個類(或介面、抽象類別、父類)的執行個體。 舉個例子: public interface IObject { 


public class Foo implements IObject{ 


public class Test extends Foo{ 


public class MultiStateTest { 
        public static void main(String args[]){ 
                test(); 
        } 

        public static void test(){ 
                IObject f=new Test(); 
                if(f instanceof java.lang.Object)System.out.println("true"); 
                if(f instanceof Foo)System.out.println("true"); 
                if(f instanceof Test)System.out.println("true"); 
                if(f instanceof IObject)System.out.println("true"); 
        } 
} 輸出結果:true 
true 
true 
true 另外,數群組類型也可以使用instanceof來比較。比如 String str[] = new String[2];則str instanceof String[]將返回true。2>

JAVA的instanceOf

當你拿到一個對象的引用時(例如參數),你可能需要判斷這個引用真正指向的類。所以你需要從該類繼承樹的最底層開始,使用instanceof操作符判斷,第一個結果為true的類即為引用真正指向的類。

例如下面的例子:

class Person{}
class Student extends Person{}
class Postgraduate extends Student{}
class Animal{} 
public class InstanceofTester {
public static void main(String[] args) {
  instanceofTest(new Student());
}
public static void instanceofTest(Person p){
  // 判斷p的真正類型
  if (p instanceof Postgraduate){
   System.out.println("p是類Postgraduate的執行個體");
  } else if(p instanceof Student){
   System.out.println("p是類Student的執行個體");
  } else if(p instanceof Person){
   System.out.println("p是類Person的執行個體");
  } else if(p instanceof Object) {
   System.out.println("p是類Object的執行個體");
  }
  /*if(p instanceof Animal){//此錯編譯錯誤,所以做注釋
   System.out.println("p是類Animal的執行個體");
  }*/
}
}

這個程式的輸出結果是:p是類Student的執行個體

Person類所在的繼承樹是:Object<--Person<--Student<--Postgraduate。

這個例子中還加入一個Animal類,它不是在Person類的繼承樹中,所以不能作為instanceof的右運算元。

java 文法 java沒學好,休想學好安卓!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.