1。用法表达式 result = object instanceof class result:布尔类型。 object:必选项。任意对象表达式。 class:必选项。任意已定义的对象类。 例:String s = "123"; if(s instanceof String){ System。
out。println("s的类型为String类型") } instanceof使用范围:instanceof比较的是对象,不能比较基本类型,否则会报错; 2。原理 检测object对象是不是class类型的实例的原理是:class类型是否在object类型的原型链上,如果在result为true,如果不在为false; 3。
例子 public interface A {} public class B implements A {} public class C {} A a = new B();//a类型位A,a原型为B,因为是new B() B b = new B();//b的类型为B,原型为B C c = new C();//c的类型为C,原型为C System。
out。println(a instanceof Object);//因为Object是所有类的基类,所以类型Object在a的原型链上,故为true System。out。println(a instanceof B);//因为a的类型为A,原型为B,所以B类型在对象a的原型B上。
System。out。println(b instanceof B); System。out。
println(c instanceof A);//c的类型为C,A不在C的原型上,故为false; 结果: true true true false 如果我的回答对您的疑问有帮助的话,望采纳,想了解更多关于Java的专业知识的话不如报个班系统的学习一下,像我们科迅教育,小班开课,包教会,2-4个月就让你从萌新变小白,如果一期学不会可以免费重学,学完以后我们还有两百多家合作单位可以给学生推荐工作等,如果楼主在南通可以来免费试听一下,感受一下课堂氛围和老师的教学热情,就在人民中路老新亚大厦三楼,欢迎随时来咨询!。
全部