news 2026/5/1 1:55:12

理解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/5/1 8:32:55

Py-ART完全指南:5个核心步骤掌握气象雷达数据处理

Py-ART完全指南:5个核心步骤掌握气象雷达数据处理 【免费下载链接】pyart The Python-ARM Radar Toolkit. A data model driven interactive toolkit for working with weather radar data. 项目地址: https://gitcode.com/gh_mirrors/py/pyart 气象雷达数据…

作者头像 李华
网站建设 2026/4/30 13:50:42

谷歌趋势分析Qwen-Image-Edit-2509关注度增长曲线

谷歌趋势分析Qwen-Image-Edit-2509关注度增长曲线 在数字内容爆炸式增长的今天,视觉素材的更新速度早已跟不上运营节奏。电商平台每天面临成千上万张商品图的修改需求——换标签、去水印、改配色;社交媒体团队需要快速试错不同风格的封面图;跨…

作者头像 李华
网站建设 2026/5/1 9:36:33

Tomcat 9 证书最佳存放路径指南

Tomcat 放置证书的目录没有绝对强制的固定路径,但有官方推荐的规范和行业通用做法,核心原则是「路径易配置、权限安全、与 SSL 配置文件(server.xml)就近管理」。以下是详细说明:一、核心推荐目录(优先级从…

作者头像 李华
网站建设 2026/5/1 8:30:56

如何利用Seed-Coder-8B-Base为团队定制专属编程助手?

如何利用 Seed-Coder-8B-Base 为团队打造专属编程助手? 在现代软件开发节奏日益加快的背景下,一个常见的痛点浮出水面:新成员上手慢、编码风格不统一、低级错误频发。尽管市面上已有 GitHub Copilot 这类强大的 AI 编程工具,但企业…

作者头像 李华