instanceof关键字
java基础篇

语法格式如下:
对象instanceof类型 --返回boolean类型值
该语句一般用于判断一个对象是否为某个类的实例,是返回true,否返回false
通过instanceof关键字,我们可以很方便的检查对象有类型,但如果一个父类的子类过多,这样的判断还是显得很繁,那么如何去设计一个父类呢?
1、父类通常情况下都设计为抽象类或接口,其中优先考虑接口,如接口不能满足才考虑抽象类。
2、一个具体的类尽可能不去继承另一个具体类,这样的好处是无需检查对象是否为父类的对象。
public class aa{ public static void main(String[] args){ Person man = new Man(); say(man); Person w = new Women(); say(w); } public static void say(Person p){ p.say(); if(p instanceof Women){ Women w = (Women)p; w.getAngry(); } } } abstract class Person{ private String name; public void setName(String name){ this.name = name; } public String getName(){ return name; } public abstract void say(); //抽象方法 } class Man extends Person{ public void say(){ System.out.println("man"); } } class Women extends Person{ public void say(){ System.out.println("women"); } public void getAngry(){ System.out.println("angry"); } }