课时77:Instanceof关键字
摘要:
1. Instanceof关键字定义
2.范例
01.Instanceof关键字定义
现在来探讨一下 Java 中的 Instanceof关键字。通过分析可以发现,向下转型本身存在安全隐患。因此为了确保向下转型的正确性,在进行转型之前,需要进行判断,即判断某个实例是否属于某个类的对象。这个需要通过Instanceof 语法来进行实现。
对象 Instanceof 类,该判断将返回一个 Boolean 类型,如果是 True 表示实例是指定类对象。
02.范例
2.1观察 Instanceof 的使用
public class javademo { public static void miain(stringy args[]){ person per=new person();//不转型 system.out.println(per instanceofperson);//true system.out.println(per instanceofsuperman);//false } }
然而由于没有发生向上转型,所以代码中并没有出现Superman。因此,无法对它进行强制性的向下转型处理。
2.2观察“Instanceof”关键字
public class javademo { public static void miain(stringy args[]){ person per=new superman();//向上转型 system.out.println(per instanceofperson);//true system.out.println(per instanceofsuperman);//true } }
因此在未来的项目开发过程中,若需执行对象的向下转型,最好先进行一次判断。
class superman extends person { public string fly(){ return"我可以飞。。。"; } public string fire(){ return"我可以喷火。。。"; } } public class javademo { public static void main(string args[]){ person per =new superman();// 向上转型 if(per instanceofsuperman){ superman man=(superman) per ; system.out.println(man.fly()); system.out.println(man.fire()); } } }
在以后进行一些完善性的程序开发的过程之中,对于转型之前一定要使用Instancesof,如果对自己的代码非常有信心,也可以选择不使用它。
一旦发生错误,程序会抛出Class Test Exception,这是一种常见的异常。因此向下转型并非一个安全的操作,存在潜在的安全隐患。