您的位置:首页 > 编程语言 > Java开发

第二十六、Java面向对象之instanceof 关键字

2017-03-18 18:17 337 查看

instanceof是什么?

       1:属于比较运算符:

       2:instanceof关键字:该关键字用来判断一个对象是否是指定类的对象。

       3:使用格式:

               对象  instanceof 类;  

               该表达式是一个比较运算符,返回的结果是boolea类型  true|false

    注意:使用instanceof关键字做判断时,两个类之间必须有关系,判断的对象与指定的类别必须要存在继承或者实现的关系。

   一般我们做强制类型转换之前都会使用该关键字先判断一把,然后在进行转换的。

class Animal{

String name;
String color;

public Animal(String name, String color){
this.name = name;
this.color = color;
}
}

//狗是属于动物中一种
class Dog extends Animal {

public Dog(String name,String color){
super(name,color); //指定调用父类两个 参数的构造函数。
}

public void bite(){
System.out.println(name+"咬人!!");
}
}

//老鼠 也是属于动物中一种
class Mouse extends  Animal{

public Mouse(String name,String color){
super(name,color);
}

public void dig(){
System.out.println(name+"打洞..");
}

}

class MyClass{

public static void main(String[] args)
{
Dog d = new Dog("哈士奇","白色");
System.out.println("狗是狗类吗?"+ (d instanceof Dog));
System.out.println("狗是动物类吗?"+ (d instanceof Animal));
//System.out.println("狗是老鼠类吗?"+ (d instanceof Mouse));		// false true

Animal a = new Animal("狗娃","黄色"); //狗娃是人
System.out.println("动物都是狗吗?"+ (a instanceof Dog));

}
}






运行结果如下:

LoveQideMacBook-Pro:desktop loveqi$ java MyClass
狗是狗类吗?true
狗是动物类吗?true
动物都是狗吗?false
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  instanceof