zoukankan      html  css  js  c++  java
  • java 中 instanceof 与 类型转换

    1,新建Application类,作为程序的入口

    package oop.demo07;
    
    /*
    instanceof 与 类型转换
        1,父类引用指向子类对象
        2,把子类转换为父类,向上转型
        3,把父类转换为子类,向下转型:强制转换
        4,方便就去的调用,减少重复的代码,
    
        抽象:封装、继承、多态;
     */
    public class Application {
        public static void main(String[] args) {
    //        类型之间的转换   父类   子类
    
    //        高               低
            Person s1 = new Student();
    //        强制类型转换
            Student s2 = (Student) s1;
            s2.go();//go
    
            Student s3 = new Student();
            s3.go();//go
            s3.run();//run
            Person s4 = new Student();
            s4.run();//run
            ((Student) s4).go();//go
    
            System.out.println("===================");
    
            Object obj = new Student();
    
    //        System.out.println(x instanceof  y); //能不能编译通过
    
            System.out.println(obj instanceof Student);//true
            System.out.println(obj instanceof Person);//true
            System.out.println(obj instanceof Object);//true
            System.out.println(obj instanceof Teacher);//false
            System.out.println(obj instanceof String);//false
    
            System.out.println("===============");
            Person person = new Person();
            System.out.println(person instanceof Person);//true
            System.out.println(person instanceof Object);//true
            System.out.println(person instanceof Student);//false
            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 Person);//true
            System.out.println(student instanceof Object);//true
            System.out.println(student instanceof Student);//false
    //        System.out.println(student instanceof Teacher);//编译报错
    //        System.out.println(student instanceof String);//编译报错
        }
    
    
    }
    
    

    2,新建Person类

    package oop.demo07;
    
    public class Person {
        public  void  run(){
            System.out.println("run");
        }
    }
    
    

    3,新建Student类

    package oop.demo07;
    
    public class Student extends Person {
        public  void  go(){
            System.out.println("go");
        }
    }
    
    

    4,新建Teacher类

    package oop.demo07;
    
    public class Teacher extends Person {
    }
    
    

    5,运行结果

  • 相关阅读:
    关于SpringBoot的外部化配置使用记录
    深入理解Mybatis插件
    MySQL JDBC Driver 8.0+设置服务器时区
    重新认识Java注解
    深入理解Java枚举
    Spring cloud系列教程第十篇- Spring cloud整合Eureka总结篇
    Spring Cloud系列教程第九篇-Eureka自我保护机制
    安装vsftp服务器的时候遇到的问题
    spring cloud系列教程第八篇-修改服务名称及获取注册中心注册者的信息
    idea 启动命令行的时候提示不能创建PTY
  • 原文地址:https://www.cnblogs.com/d534/p/15094568.html
Copyright © 2011-2022 走看看