 
	 博客信息
		博客信息
	Java面向对象-instanceof关键字
作用:判断一个对象是否属于一个类
格式:对象 instanceof 类 返回布尔类型
我们先来建一个父类Animal,以及子类Dog,Cat类:
package com.java1234.chap03.sec14;
public class Animal {
	public void say(){
		System.out.println("我是一个动物");
	}
}package com.java1234.chap03.sec14;
public class Dog extends Animal{
	public void say(){
		System.out.println("我是一只狗");
	}
}package com.java1234.chap03.sec14;
public class Cat extends Animal{
	public void say(){
		System.out.println("我是一只猫");
	}
}我们搞个测试类:
package com.java1234.chap03.sec14;
public class Test {
	public static void main(String[] args) {
		Animal dog=new Dog();
		System.out.println("dog对象是否属于Animal类:"+(dog instanceof Animal));
		System.out.println("dog对象是否属于Dog类:"+(dog instanceof Dog));
		System.out.println("dog对象是否属于Cat类:"+(dog instanceof Cat));
	}
}运行输出:
dog对象是否属于Animal类:true
dog对象是否属于Dog类:true
dog对象是否属于Cat类:false
通过instanceof我们可以确保向下转型的不出问题;
我们给Dog类,Cat类加各自的方法;
package com.java1234.chap03.sec14;
public class Dog extends Animal{
	public void say(){
		System.out.println("我是一只狗");
	}
	
	public void f1(){
		System.out.println("汪汪...");
	}
}package com.java1234.chap03.sec14;
public class Cat extends Animal{
	public void say(){
		System.out.println("我是一只猫");
	}
	
	public void f2(){
		System.out.println("我喜欢吃鱼");
	}
}package com.java1234.chap03.sec14;
public class Test {
	public static void doSomeThing(Animal animal){
		animal.say();
		if(animal instanceof Dog){
			((Dog) animal).f1();
		}else if(animal instanceof Cat){
			((Cat) animal).f2();
		}
	}
	
	public static void main(String[] args) {
		Animal dog=new Dog();
		System.out.println("dog对象是否属于Animal类:"+(dog instanceof Animal));
		System.out.println("dog对象是否属于Dog类:"+(dog instanceof Dog));
		System.out.println("dog对象是否属于Cat类:"+(dog instanceof Cat));
		
		doSomeThing(new Dog());
		doSomeThing(new Cat());
	}
}运行输出:
dog对象是否属于Animal类:true
dog对象是否属于Dog类:true
dog对象是否属于Cat类:false
我是一只狗
汪汪...
我是一只猫
我喜欢吃鱼
上一篇:Java面向对象-Object类
下一篇:Java面向对象-匿名内部类
 关注Java1234微信公众号
					关注Java1234微信公众号
				 
				 博主信息
					博主信息
				 
				 按日志类别
					按日志类别
				 按日志日期
					按日志日期
				 友情链接
					友情链接