instanceof用于判断类型
-
eg:cat instanceof Animal
判断该对象引用,是否是为该类型(自身类、自身类父类、Object)都是返回true,其他情况返回false -
eg: str instanceof String
例子
AnimalParent类
public class AnimalParent {
}
Cat类
public class Cat extends AnimalParent {
}
Dog类
public class Dog extends AnimalParent {
}
测试及运行结果
public class Test01 {
public static void main(String[] args) {
AnimalParent cat=new Cat();
String str="猪猪侠";
//对象的引用 instanceof 具体的类型(类或者接口)
//cat instanceof Dog 返回布尔类型 是该类型则返回true 不是则是false
if(cat instanceof Dog){
System.out.println("该对象引用是狗类型,可以强转");
Dog dog=(Dog)cat;
//强转在编译阶段不报错
// 在程序运行阶段,可能报错,所以需要这么写
}else {
System.out.println("该对象引用不是狗类型,不可以强转");
}
//在编译状态下,class可以是object对象的父类,自身类,子类。这三种情况下java编译时不会报错
if(cat instanceof Cat){
System.out.println("猫 是我们的猫类型");
}else {
System.out.println("猫 不是我们的猫类型");
}
if(cat instanceof AnimalParent){
System.out.println("猫 是我们的动物类型");
}else {
System.out.println("猫 不是我们的动物类型");
}
/*animalParent 对象 instanceof
* 判断该对象引用,是否是为该类型(自身类、自身类父类、Object)都是返回true,其他情况返回false
*/
//也可以判断类型
if (str instanceof String){
System.out.println("str是字符串类型");
}else {
System.out.println("str不是字符串类型");
}
}
}
标签:instanceof,System,cat,关键字,类型,println,out
From: https://www.cnblogs.com/jiefei6658/p/17867985.html