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");
}
}


2014-12-18 13:25:23

Java
Java

这是介绍的地方

Java的标签

本文相关标签

推荐应用

友情链接


皖ICP备14007051号-2 关于穆子龙