当前位置: 首页 > news >正文

Day38-20260209

instanceof

与类型转换是什么关系?

判断一个对象是什么类型-

抽象:编程思想!持续学习,茅塞顿开!多实践,多测试大脑中的想法!实践出真知

面向对象:封装、继承、多态

package com.oop;import com.oop.demo06.Person;
import com.oop.demo06.Person01;
import com.oop.demo06.Student01;
import com.oop.demo06.Teacher01;//一个项目应该只存在一个main方法
public class Application {public static void main(String[] args) {//类型之间的转换:基本类型转换高低64 32 16  父类 子类//高                         低
//        Person01 obj = new Student01();
//        //student01将这个对象转换为Student01类型,我们就可以使用Student01类型的方法了
//        //强制转换:()+要转换的对象
//        Student01 student01 = (Student01) obj;//分步写
//        student01.go();//分步写
//        ((Student01)obj).go();//合起来//子类转换为父类,可能丢失自己的本来的一些方法Student01 student01 = new Student01();student01.go();Person01 person01 = student01;}
}
/*
多态:
1.父类引用指向子类的对象
2.把子类转换为父类,向上转型;不用强制转换可以直接转换过去
3.把父类转换为子类,向下转型:强制转换,会丢失一些方法
4.方便方法的调用,减少重复的代码,简洁!
抽象:封装、继承、多态
抽象类。接口*/
package com.oop.demo06;public class Person01 {public void run(){System.out.println("run");}
}
/*
package com.oop;import com.oop.demo06.Person;
import com.oop.demo06.Person01;
import com.oop.demo06.Student01;
import com.oop.demo06.Teacher01;//一个项目应该只存在一个main方法
public class Application {public static void main(String[] args) {//Object>String//Object>Person>Teacher//Object>Person>StudentObject  object = new Student01();//System.out.println(X instanceof Y);能不能编译通过!System.out.println(object instanceof Student01);//trueSystem.out.println(object instanceof Person01);//trueSystem.out.println(object instanceof Object);//trueSystem.out.println(object instanceof Teacher01);//FalseSystem.out.println(object instanceof String);//FalseSystem.out.println("================================");Person01 person01 = new Student01();System.out.println(person01 instanceof Student01);//trueSystem.out.println(person01 instanceof Person01);//trueSystem.out.println(person01 instanceof Object);//trueSystem.out.println(person01 instanceof Teacher01);//False//System.out.println(person01 instanceof String);//编译报错!System.out.println("================================");Student01 student01 = new Student01();System.out.println(student01 instanceof Student01);//trueSystem.out.println(student01 instanceof Person01);//trueSystem.out.println(student01 instanceof Object);//true//System.out.println(student01 instanceof Teacher01);//编译报错!//System.out.println(student01 instanceof String);//编译报错!}
}*/
package com.oop.demo06;public class Student01 extends Person01{public void go(){System.out.println("go");}
}
package com.oop.demo06;public class Teacher01 extends Person01{
}
true
true
true
false
false
================================
true
true
true
false
================================
true
true
true进程已结束,退出代码为 0

摘要:本文探讨了Java中instanceof运算符与类型转换的关系。instanceof用于判断对象类型,而类型转换包括向上转型(子类转父类)和向下转型(父类转子类)。向下转型需要强制转换,可能丢失方法。文章通过代码示例展示了多态特性:父类引用指向子类对象,并测试了不同继承层级下的instanceof判断结果。强调面向对象三大特性(封装、继承、多态)及实践的重要性,指出合理使用类型转换能简化代码、提高复用性。

http://www.jsqmd.com/news/363003/

相关文章:

  • Memcached incr/decr 命令详解
  • 10.1 重大发现!消息可靠传输原来是这样保证的?
  • winget坏了修复
  • 在算法的茧房中悬鉴:养护人叙事环与“悟空悖论”的超越
  • 成都诚信艺考美术集训机构优质推荐 - 优质品牌商家
  • 三亚平价海鲜必看!2026年度高性价比湘菜排行榜推荐
  • 9.1 WebSocket网关架构设计竟然可以这样做?
  • 2026别墅电梯优质厂家推荐榜 - 优质品牌商家
  • 折叠面板(Accordion)
  • Pandas 简介
  • 当你 push 完分支,再提 MR 时,main 已经更新了,会发生什么?
  • 《Foundation 分页》
  • 2026年别墅电梯厂家推荐:老小区旧楼加装电梯多少钱一台/4层别墅电梯一般多少钱/六层旧楼加装电梯价格/选择指南 - 优质品牌商家
  • 智能医疗 | 算法稳定性在医疗设备中的重要性
  • Java毕设项目推荐-基于springboot的软件开发项目任务跟踪系统的设计与实现基于springboot的软件协作跟踪平台的设计与开发【附源码+文档,调试定制服务】
  • Scala 运算符
  • MR(Merge Request)、PR(Pull Request)分别是什么意思?【MR = PR = 合并请求,不同平台叫法不同】
  • JSP 服务器响应
  • 从 git clone 到代码合并进 main 的完整规范流程
  • centos+python批量导出csdn里的文章
  • Oracle云平台基础设施文档-计费与成本管理篇3
  • 2026年评价高的动画制作公司推荐:医疗器械动画制作、商业航天动画制作、施工原理动画制作、施工工艺动画制作选择指南 - 优质品牌商家
  • 计算机Java毕设实战-基于springboot的软件协作跟踪平台的设计与开发软件项目进度管理系统 【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 分析分析Vue与VueComponent的关系
  • 记一次集群网络异常后节点启动失败处理情况
  • Java毕设项目:基于springboot的在线社区系统的设计与开发(源码+文档,讲解、调试运行,定制等)
  • 260209
  • 基于MATLAB开发的口罩佩戴检测系统智能化识别与监管功能强大
  • 肠道菌群防御新解:多样性驱动的营养竞争是抵抗病原体定植的核心
  • 获取java