做一个简单的网站需要多少钱,怎么做同城网站,网站开发后台能用c语言吗,订货网站开发价格instanceof 通过返回一个布尔值来指出#xff0c;某个对象是否是某个特定类或者是该特定类的子类的一个实例。 如果 object 是class 的一个实例#xff0c;则 instanceof 运算符返回 true#xff0c;如果 object 不是指定类的一个实例#xff0c;或者object 是null, 则返回… instanceof 通过返回一个布尔值来指出某个对象是否是某个特定类或者是该特定类的子类的一个实例。 如果 object 是class 的一个实例则 instanceof 运算符返回 true如果 object 不是指定类的一个实例或者object 是null, 则返回false。class 可以是类可以是接口。instanceof 在Java 的编译状态 和 运行状态是有区别的 在编译状态中class指的是对象的引用可以是object对象、父类自身类子类。在这三种情况下Java编译时不会报错。在运行状态中class 可以是 object 对象父类自身类不能其他是子类。在前面三种情况下 result 的结果为 true最后一种为false。但是class为子类时编译不会报错。运行结果为false.大致就是判断表达式class 变量classobject的引用 是否立。 示例代码
AnimalParent.java
package com.api.Demo06;public class AnimalParent {
//public interface AnimalParent { //也可以时接口
}Cat.java
package com.api.Demo06;public class Cat extends AnimalParent{
//public class Cat implements AnimalParent{
}Dog.java
package com.api.Demo06;public class Dog extends AnimalParent{
//public class Dog implements AnimalParent{
}Test.java
package com.api.Demo06;public class Test01 {public static void main(String[] args) {//多态技术AnimalParent cat new Cat();// 类型转换异常
// Dog dog (Dog) cat; //com.api.Demo06.Cat cannot be cast to com.api.Demo06.Dog// if(对象的引用 instanceof 具体的类型类或接口)if (cat instanceof Dog) { //返回 布尔类型 是该类型 返回true,不是则返回falseSystem.out.println(cat 是 Dog 类型);} else {System.out.println(cat 不是 Dog 类型);}/*** cat instanceof Dog 不是* cat instanceof Cat||AnimalParent||Object 是* 在编译状态中class(对象的引用)可以是object对象的父类(AnimalParent)自身类(Cat)子类。* 在这三种情况下Java编译时不会报错。*/// 强转时 程序可能会直接 抛出异常,所以可以使用 instanceof 判断一下if (cat instanceof Dog) {Dog dog (Dog) cat;System.out.println(类型符合可以强转);} else {System.out.println(类型不符不能强转);}}/*** 在运行状态中class 可以是 object 对象的父类(AnimalParent)自身类(Cat)不能是其他的子类(Dog、)。* 在前面两种情况下 result 的结果为 true最后一种为false。*/
}下一篇文章