JAVA的instanceOf什么时候用
生活随笔
收集整理的這篇文章主要介紹了
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的右操作數。
轉載于:https://www.cnblogs.com/fangchongyan/p/5044188.html
總結
以上是生活随笔為你收集整理的JAVA的instanceOf什么时候用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用python的numpy作线性拟合、多
- 下一篇: PHP Multipart/form-d