java 中 instanceof 与 类型转换
2021/8/3 17:07:52
本文主要是介绍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,运行结果
这篇关于java 中 instanceof 与 类型转换的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-27消息中间件底层原理资料详解
- 2024-11-27RocketMQ底层原理资料详解:新手入门教程
- 2024-11-27MQ底层原理资料详解:新手入门教程
- 2024-11-27MQ项目开发资料入门教程
- 2024-11-27RocketMQ源码资料详解:新手入门教程
- 2024-11-27本地多文件上传简易教程
- 2024-11-26消息中间件源码剖析教程
- 2024-11-26JAVA语音识别项目资料的收集与应用
- 2024-11-26Java语音识别项目资料:入门级教程与实战指南
- 2024-11-26SpringAI:Java 开发的智能新利器