发布网友 发布时间:2022-04-26 15:09
共2个回答
热心网友 时间:2023-10-11 01:55
instanceof 类似一个符号一样,类似+号,-号,=号这种的,你可以这样理解的
举个例子哈,假如现在我有两个父类,Person类和Animal类,现在有以下关系
Student extends Person(学生肯定是一个人,所以学生类继承人类)
Dog extends Animal(狗肯定是动物,所以狗类继承动物类)
所以现在我new一个Student对象小明和一个Dog对象旺财
Student student= new Student("小明");
Dog dog = new Dog("旺财");
你看+号,1+2表示是前者1和后者2相加是吧,返回一个数字
而instanceof 表示,前者对象是否是后者对象的一个实例,返回true或false,好,现在以上例子来说
student instanceof Student // return true
小明肯定是学生类的一个实例
student instanceof Person // return true
这也是true,因为小明是一个学生,他也是一个人啊,所以小明肯定是人的一个实例
dog instanceof Person // return false
这就是false了,因为旺财是一条狗,不是人,所以它不是人的一个实例,所以返回false
总结:instanceof多用在多态的使用中用于判断当前类是哪些父类的子类
热心网友 时间:2023-10-11 01:56
String s = "I AM an Object!";
boolean isObject = s instanceof Object;
就是判断前面那一个是不是后面那一个的子类,如果是就返回true不是就返回false,
主要就是类型强制转换的时候判断一下。