全网最细之instanceof和类型转换

package com.wuming.oop4.demo08;

public class Application {
    public static void main(String[] args) {
        //类型之间转换:父           子
        //高             低
        Person person1 = new Student();
        //student将这个对象转换为student类型,我们就可以使用student类型的方法了!
        Student student = (Student) person1;
        student.go();//go
        ((Student) person1).go();//go
        //从右往左看
        Person person=student;//子类转父类
       Student student1= (Student) person1;// 父转子,强制
    }
}
/*
1.父类引用指向子类对象
2.子类转换为父类,向上转型
3.父转子,强制
4.方便方法的调用,减少重复的代码
*/
package com.wuming.oop4.demo08;

public class Person {

}
package com.wuming.oop4.demo08;

public class Student extends Person {
    public void go() {
        System.out.println("go");
    }
    //Application.java里面的拿过来的
//    //Object>String
//    //Object>Person>Teacher
//    //Object>Person>Student  三行中同级间(列对应)instance of指向会报错
//    Object object = new Student();
//    //System.out.println(x instanceof y);//能不能编译通过,就看x和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);
//    //   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);
}

go
go
 

上一篇:如何使用VS Code编写Spring Boot (第二弹)


下一篇:java中的instanceof关键字