What is the 'instanceof' operator used for in Java?

前端 未结 17 1230
梦毁少年i
梦毁少年i 2020-11-22 03:03

What is the instanceof operator used for? I\'ve seen stuff like

if (source instanceof Button) {
    //...
} else {
    //...
}

17条回答
  •  悲哀的现实
    2020-11-22 03:51

    public class Animal{ float age; }
    
    public class Lion extends Animal { int claws;}
    
    public class Jungle {
        public static void main(String args[]) {
    
            Animal animal = new Animal(); 
            Animal animal2 = new Lion(); 
            Lion lion = new Lion(); 
            Animal animal3 = new Animal(); 
            Lion lion2 = new Animal();   //won't compile (can't reference super class object with sub class reference variable) 
    
            if(animal instanceof Lion)  //false
    
            if(animal2 instanceof Lion)  //true
    
            if(lion insanceof Lion) //true
    
            if(animal3 instanceof Animal) //true 
    
        }
    }
    

提交回复
热议问题