news 2026/4/25 13:07:31

理解Java核心概念:类型转换、instanceof检查与静态成员

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
理解Java核心概念:类型转换、instanceof检查与静态成员

类型转换

Java中有普通数据类型和引用数据类型:

普通数据类型,有byte、short、char、int、long、float、double、boolean。普通数据类型,是指内存中的"框"存储的二进制是数据本身。

引用数据类型,有数组、对象。引用数据类型,是指内存中的“框”存储的是内存地址,即“引用”。真正的数据,存储在引用的在“堆”里的内存地址的“框”里。

普通数据类型,可以“从低到高”进行隐式的自动转换,或者“从高到低”进行显示的类型转换。因为“从低到高”,不会存在数据丢失问题,而“从高到低”存在数据丢失和精度降低风险。

从低--------------------------------------到高
byte -> short / char -> int -> long -> float -> double

bytea=127;intb=a;// 从低到高,可以隐式转换shortc=(short)b;// 从高到低,必须显示转换

引用数据类型也可以进行数据转换,比如子类、父类进行类型转换。引用类型“从低到高”时,可以进行隐式的类型转换,即父类引用一个子类对象。比如:

Fathera=newSon();

而“从高到低”,需要进行显性的类型转换,因为可能存在一定的安全风险,比如:

SonzhangLiu=(Son)wangWu;

转型只能在继承关系的类之间进行,否则编译报错。

instanceof

instanceof是一个关键字,用于检查一个对象是否是一个类或者其子类的对象,用法为:

objectinstanceofType

这个语句返回值是一个布尔值,其中object为一个待检查的对象,Type为一个类。

publicclassApp{publicstaticvoidmain(String[]args){FatherzhangSan=newFather("张三");SonzhangSi=newSon("张四");if(zhangSiinstanceofSon){System.out.println("张三 instanceof Son");}else{System.out.println("张三 not instanceof Son");}if(zhangSaninstanceofFather){System.out.println("张三 instanceof Father");}else{System.out.println("张三 not instanceof Father");}if(zhangSaninstanceofObject){System.out.println("张三 instanceof Object");}else{System.out.println("张三 not instanceof Object");}}}
张三 instanceof Son 张三 instanceof Father 张三 instanceof Object 进程已结束,退出代码为0

static

static关键字用来修饰变量或方法,标记这个变量和方法是静态变量和静态方法。

什么是静态变量?静态变量又称为类变量,在类加载时就保存在内存中,可以用“类.变量”或“实例.变量”进行访问。

什么是静态方法?静态方法又称为类方法,在类加载时就保存在内存中,可以用“类.方法”或“实例.方法”进行调用。

publicclassApp{// 定义演示用的子类privatestaticclassDemoClass{staticvoidsayHello(){System.out.println("hello");}staticintnum=10;}publicstaticvoidmain(String[]args){DemoClassd=newDemoClass();System.out.println(DemoClass.num);// 10 通过类名, 访问静态变量System.out.println(d.num);// 10 通过实例名, 访问静态变量DemoClass.sayHello();// hello 通过类名, 访问静态方法d.sayHello();// hello 通过实例名, 访问静态方法}}

静态变量和静态方法虽然可以通过实例访问,但是强烈建议通过类进行访问,这样更清晰的说明这个是类的变量或方法。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/20 12:40:03

基于springboot的美食推荐商城的设计与实现

系统介绍 本文介绍了一个基于Java开发的B/S架构美食管理系统,系统实现了用户在线答题和分数查询功能,管理员可管理购物车、公告、美食订单等10个核心模块。开发环境采用SpringBoot框架,MySQL数据库,支持IDEA/Eclipse工具。系统包…

作者头像 李华
网站建设 2026/4/21 20:49:14

告别焦虑!网络工程师AI进化全攻略,建议永久收藏

文章指出AI不会取代网络工程师,但会取代不学习AI的网络工程师。网络工程师需从"命令行"操作转向"智能协作者",通过三个阶段学习路线掌握AI技能,重点培养学习能力、思辨能力、沟通协作和创新思维。强调人机协作是未来趋势…

作者头像 李华
网站建设 2026/4/22 4:56:02

GitHub Gist分享Qwen-Image-Edit-2509实用代码片段

Qwen-Image-Edit-2509:用自然语言精准编辑图像的实用实践 在电商运营的某个深夜,设计师正加班修改第37张商品主图——又要换背景、改文案、调整模特服装颜色。这样的场景每天都在全球无数团队中上演:内容更新需求爆炸式增长,但图像…

作者头像 李华
网站建设 2026/4/25 8:37:19

HunyuanVideo-Foley模型开源:大幅提升视频后期制作效率

HunyuanVideo-Foley模型开源:大幅提升视频后期制作效率 在短视频日均产量突破千万条的今天,内容创作者正面临一个隐性瓶颈——音效。画面可以快速剪辑、滤镜一键套用,但脚步声是否踩在雨后石板上、门轴转动是否有年久失修的吱呀声&#xff0c…

作者头像 李华
网站建设 2026/4/24 9:56:42

火山引擎AI大模型生态中Qwen3-VL-8B的应用定位

火山引擎AI大模型生态中Qwen3-VL-8B的应用定位 在电商客服对话框里上传一张商品图,系统立刻识别出“这是一款复古风高腰牛仔阔腿裤,搭配白色条纹衬衫适合通勤穿搭”;在内容审核后台,一张看似正常的风景照配上敏感文字,…

作者头像 李华