Java中的instanceof是用来判断某个实例是不是某个类的实例。 例如:A instanceof B (A为某个实例,B为某个类名) 如果A为B的实例,则:(A instanceof B)==true 反之==false 代码举例:
package JavaKEYWORDS; class Bird{//父类 } class BigBird extends Bird{//Bird的子类 } class LittleBird extends Bird implements BirdFly{//Bird的子类加上BirdFly接口 } interface BirdFly{ } public class JavaKWinstanceof { public static void main(String[] args) { // TODO Auto-generated method stub JavaKWinstanceof myThis=new JavaKWinstanceof(); Bird myBird=new Bird(); BigBird myBigBird=new BigBird(); LittleBird myLittleBird=new LittleBird(); //打印各实例与类之间的关系 prt(myThis instanceof JavaKWinstanceof);//打印结果:YES prt(myBird instanceof Bird);//打印结果:YES prt(myBigBird instanceof Bird);//打印结果:YES 子类实例出的对象也是父类的实例 prt(myBird instanceof BigBird);//打印结果:NO 父类实例出的对象不是子类的实例 prt(myLittleBird instanceof Bird);//打印结果:YES 子类加上其它接口后实例出的对象也是父类的实例 /* * prt(myLittleBird instanceof BigBird);//编译报错 两个没有继承关系的类之间没有instanceof关系 * prt(1 instanceof int);//编译错误 */ } //判断及显示A是否为B的实例 static void prt(boolean A_is_instanceof_B){ if(A_is_instanceof_B){ System.out.println("YES"); } else{ System.out.println("NO"); } } }
输出结果:
posted on 2017-09-15 10:48 云潇洒 阅读(1748) 评论(0) 编辑 收藏 举报
Powered by: 博客园 Copyright © 2024 云潇洒 Powered by .NET 9.0 on Kubernetes