面向对象13:instanceof和类型转换
instanceof
- (类型转换) 引用类型,判断一个对象是什么类型~
代码show
demo01:
//Person
public class Person {
public void run() {
System.out.println("Person run");
}
}
//Student
public class Student extends Person {
public void go() {
System.out.println("go");
}
}
/*
//Object > String
//Object > Person > Teacher
//Object > Person > Student
Object object = new Student();
//System.out.println(X instanceof Y);//能不能编译通过
System.out.println(object instanceof Student);//true
System.out.println(object instanceof Person);//true
System.out.println(object instanceof Object);//true
System.out.println(object instanceof Teacher);//false
System.out.println(object instanceof String);//false
System.out.println("==================================");
Person person = new Student();
System.out.println(person instanceof Student);//true
System.out.println(person instanceof Person);//true
System.out.println(person instanceof Object);//true
System.out.println(person instanceof Teacher);//false
//System.out.println(person instanceof String);//编译报错
System.out.println("==================================");
Student student = new Student();
System.out.println(student instanceof Student);//true
System.out.println(student instanceof Person);//true
System.out.println(student instanceof Object);//true
//System.out.println(student instanceof Teacher);//编译报错
//System.out.println(person instanceof String);//编译报错
*/
/*
//类型之间的转化 父 子
//子类转换为父类,可能丢失自己本来的一些方法
Student student = new Student();
student.go();
Person person = student;
Person person1 = new Student();
((Student) person1).go();
*/
//Teacher
public class Teacher extends Person {
}
彩蛋
1.idea中批量编辑多行(alt+鼠标向上移动)
2.抽象思想