Java--instanceof和类型转换

1.如图,Object,Person,Teacher,Student四类的关系已经写出来了,由于实例化的是Student类,因此,与Student类存在关系的类在使用instanceof时都会输出True,而无关的都会输出False,如图对Student实例化的是Object类,输出分别为True,True,True,False,False;

2.对于对Student实例化的Person类,由于Person类与String类没有关系,因此第五行直接报错,而因为Person类与Teacher类有关,因此编译通过,但Student类与Teacher类无关,因此输出为False,因此输出结果为True,True,True,False

3.总结:System.out.println(x instanceof y);编译能否通过,看x与y是否有关系,但通过后输出True或者False则跟x实例化的对象类型是否与y有父子关系,没有则输出False,有则输出True

4.如图,父类Perosn定义了run方法,子类Student定义了go方法,首先对Student类进行实例化,由于实例化的类型是Student类,因此可直接调用go方法,后者由Person实例化的Student类,因go方法是Student仅有的方法,因此父类Person无法直接调用go方法

5.如上图所问,因person的类型为Person类,由于Person是父类,类型比Student类高,高类型转换至低类型需通过强制转换,如图所示,转化为Student类后可调用Student类的go方法输出go

相关推荐
nagualky1231 分钟前
GPT-4 系列退役在即:一套可回滚的模型迁移验收法
java·开发语言·ai·架构
今天的砖头有点烫手啊2 分钟前
Java 8 Stream 原理拆解:惰性求值与并行流陷阱
java·jvm
Ai-_Man4 分钟前
DeepSeek生成的内容能否下载吗?
开发语言·javascript·人工智能·小程序·ecmascript
Evelvnk5 分钟前
计算机学习资料
开发语言·人工智能·计算机·php
starzy19909 分钟前
Flink 任务调度 Graph 源码深度剖析:从 StreamGraph 到 ExecutionGraph 的三层演进
java·大数据·flink
Eyfcom11 分钟前
〖实战〗快运系统 Oracle 性能优化:从“能用”到“扛住双11”的 Java + Spring Boot 实战
java·oracle·性能优化·快递管理系统
geovindu16 分钟前
rust: Chain of Responsibility Pattern
开发语言·后端·设计模式·rust·责任链模式·行为模式
m0_5873830016 分钟前
碰碰好评卡功能落地全流程实战指南 附核心逻辑与常见问题解决方案
java·前端·数据库·后端·struts·需求分析
cheems952716 分钟前
从统一响应到 Swagger:一篇讲清微服务接口文档设计未命名
java·微服务·架构·状态模式
阿里嘎多学长19 分钟前
2026-10-14 GitHub 热点项目精选
开发语言·程序员·github·代码托管