一.使用场景
在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("向下转型成功!");
}
}
}
注:本例中并未补全类体,只写了主要步骤,结果不过多赘述了