instanceof 的使用
** System.out.println(x instanceof y);
能不能编译通过取决于x,y有没有父子关系(x的类型看左边)
返回结果是true还是flase取决于x所指向的实例对象的类型是不是y的子类型
**
package com.oop;
import com.oop.demo06.Person;
import com.oop.demo06.Student;
import com.oop.demo06.Teacher;
import java.util.Scanner;
public class Application {
public static void main(String[] args) {
//Object > String
//Object > Person > Teacher
//Object > Person > Student
Object a = new Student();
/* System.out.println(x instanceof y);
能不能编译通过取决于x,y有没有父子关系(x的类型看左边)
返回结果是true还是flase取决于x所指向的实例对象的类型是不是y的子类型
*/
System.out.println(a instanceof Student); //true
System.out.println(a instanceof Person); //true
System.out.println(a instanceof Object); //true
System.out.println(a instanceof Teacher); //false
System.out.println(a instanceof String); //false
Person a2 = new Student();
System.out.println("=====================");
System.out.println(a2 instanceof Student); //true
System.out.println(a2 instanceof Person); //true
System.out.println(a2 instanceof Object); //true
System.out.println(a2 instanceof Teacher); //false
// System.out.println(a2 instanceof String); //编译报错
System.out.println("=====================");
Student a3 = new Student();
System.out.println(a3 instanceof Student); //true
System.out.println(a3 instanceof Person); //true
System.out.println(a3 instanceof Object); //true
// System.out.println(a3 instanceof Teacher); //编译报错
// System.out.println(a3 instanceof String); //编译报错
}
}