1.intanceof
package com.oop.demo06;
public class Person {
public void run() {
System.out.println("Person->run");
}
}
package com.oop.demo06;
public class Student extends Person{
}
package com.oop.demo06;
public class Teacher extends Person {
}
package com.oop;
import com.oop.demo06.Person;
import com.oop.demo06.Student;
import com.oop.demo06.Teacher;
public class Application {
public static void main(String[] args) {
//Object>String
//Object>Person>Teacher
//Object>Person>Student
Object object = new Student();
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(student instanceof String); //编译报错
//总结:System.out.println(X instanceof Y);编译能否通过,看X是否是Y的子类型
}
}
2.intanceof
package com.oop.demo06;
public class Person {
public void run() {
System.out.println("Person->run");
}
}
package com.oop.demo06;
public class Student extends Person{
public void go() {
System.out.println("go");
}
}
package com.oop.demo06;
public class Teacher extends Person {
}
package com.oop;
import com.oop.demo06.Person;
import com.oop.demo06.Student;
public class Application {
public static void main(String[] args) {
//类型之间的转化: 父 子
//子类转化成父类,可能丢失自己的本来的一些方法!
Student student = new Student();
student.go();
Person person = student;
}
}