instanceof操作符判断对象类型

一.使用场景

      在java语言中父类与子类之间存在着继承关系,例如:男人类是人类类的子类,即男人类的实例同时也是人类类的实例,这称为向上转型,但是人类类的对象却不一定是男人类的对象,因为还存在着女人类,此时便需要向下转型。那么,如何去判断父类的实例也是子类的实例呢,此时便需要使用instanceof来对对象的类型进行判断。

向上转型与向下转型示例

二.具体操作

在eclipse中创建Temp、First、Second三个类,其中Temp类为父类,分别为这些类创建对象,然后判断对象类型,若为向下转型,则继续对该对象进行显式转换。

package tast.java;
public class Temp {         //创建父类
	public static void main(String[] args)
	{
		//some words
	}

}
class First extends Temp        //创建子类
{
	public static void main(String[] args)
	{
		//some words
	}	
}
class Second extends Temp
{
	public static void main(String[] args)
	{
		Temp p=new Temp();          //创建父类实例
		if(p instanceof First)      //判断对象类型
		{
			First r=(First)p;         //显式转换
			System.out.println("向下转型成功!");
		}
	}
	
}

注:本例中并未补全类体,只写了主要步骤,结果不过多赘述了

猜你喜欢

转载自blog.csdn.net/f_IT_boy/article/details/81631412