1.instanof是什么?
它属于比较运算符
该关键字用来判断一个对象是否是指定类的对象。
2.用法:
对象 instanceof类;
该表达式是一个比较运算符,返回的结果是boolea类型 true|false
注意:使用instanceof关键字做判断时,两个类之间必须有关系
3.案例:
定义一个功能函数,根据传递进来的对象的做不同的事情
如果是狗让其看家,如果是猫让其抓老鼠
1:定义动物类
2:定义狗类继承动物类
3:定义猫类继承动物类
4:定义功能根据传入的动物,执行具体的功能
*/
class Animal {
String name;
void eat() {
System.out.println("吃东西");
}
void shout() {
System.out.println("我是动物");
}
}
class Dog extends Animal {
void eat() {
System.out.println("啃骨头");
}
void shout() {
System.out.println("旺旺");
}
}
class Cat extends Animal {
void eat() {
System.out.println("吃老鼠");
}
void shout() {
System.out.println("喵喵");
}
}
class Demo11 {
public static void main(String[] args) {
Demo11 d = new Demo11();
// 对象 instanceof 类;
System.out.println(d instanceof Demo11);
d.doSomething(new Dog());
d.doSomething(new Cat());
}
// 定义一个功能函数,根据传递进来的对象的做不同的事情
// 如果是狗让其看家,如果是猫让其抓老鼠
// 对象 instanceof 类;
void doSomething(Animal a) {
if (a instanceof Dog) {
a.eat();
a.shout();
System.out.println("小狗看家");
} else if (a instanceof Cat) {
a.eat();
a.shout();
System.out.println("抓老鼠");
}
}
}