instanceof,大神给我们的礼物吗?

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cadi2011/article/details/53002270

1、instanceof,没错这个非规范的单词,就是java中的关键字,大大神送给咱们的礼物之一。

2、既然是礼物,那一定很受用了。instanceof的作用就是判断 当前的一个实例对象是否为某一个class(其扩展类也可)的实例对象,如果是,返回true,反之,返回false。

3、看见第二条,有没有很乱?没事,直接上例子。

      first.先写个基类,Animal,醉了,动物嘛,总得吃吧

public abstract class Animal{
          void eat();
}

       second.再写个扩展类,就用Dog吧,哈哈,醉了

public class Dog extends Animal {

          public void eat() {
                    System.out.println("怎么吃,随狗吧");
           }
          
}

        third.再整个猫吧,我也是醉了

public class Cat extends Animal{
           
          public void eat(){
                    System.out.println("猫吃");
          }

}

好吧,猫和狗都有了

public class Home{
                 public static void main(String args[])     {
                  Animal oneAni = new Dog();
                  Animal twoAni = new Cat();
                  
                  boolean tempOne = oneAni instanceof Cat;
                  boolean tempTwo = twoAni instanceof Dog;
         }
}

4、总结

instanceof - >用于判断当前对象是否为某个class的对象,或者某个class的子类的对象

返回值是boolean类型,如果是则为true,如果不是则为false

5、有时候一个List里面,比如就是Animal的List里面,即有Dog、又有Cat,想对Dog和Cat判断出来分别做不同的事情,那就用instanceof再好不过了

伪代码

for(item 遍历Animal List) {


 if(item instanceof Dog ) {
        干点啥好呢,吃狗屎吧
   }

  if (item instanceof Cat) {
        没得干,去舔舔自己的趾头吧
   }


}

猜你喜欢

转载自blog.csdn.net/cadi2011/article/details/53002270