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

Java static关键字全解析:从共享属性到工具类,一篇搞懂静态变量和静态方法

你有没有想过这些问题为什么main方法是static的为什么工具类的方法都是static的为什么静态方法里不能直接调用非静态方法今天这篇文章我们就把static关键字彻底讲透。从共享属性到工具类从内存原理到使用规范一篇全搞定。一、static修饰成员变量共享数据什么是静态变量被static修饰的成员变量叫静态变量也叫类变量。它的核心特点是被类的所有对象共享。想象一个班级每个学生都有自己的姓名、年龄独有属性但全班共享同一个班主任共享属性。这个“班主任”就适合用static修饰。public class Student { String name; // 独有属性不加static int age; // 独有属性不加static static String teacherName; // 共享属性加static }静态变量的使用规则加载时机随类的加载而加载优先于对象存在。类被用到时静态变量就已经在内存中了。调用方式推荐用类名调用Student.teacherName也可以用对象名调用但不推荐。共享特性任何一个对象修改了静态变量所有对象访问到的都是新值。// 推荐调用方式 Student.teacherName 小雯老师; // 不推荐但语法允许 stu1.teacherName 阿玮老师;什么时候用静态变量判断标准这个属性是所有对象共享还是每个对象独有共享 → 加static独有 → 不加static比如学生姓名独有不加全班共享的班主任加。二、static修饰成员方法工具方法什么是静态方法被static修饰的成员方法叫静态方法。它多用于测试类和工具类在Javabean实体类中很少使用。静态方法的核心规则静态方法只能访问静态成员静态变量、静态方法非静态方法可以访问所有成员静态方法中没有this关键字为什么因为静态内容随类加载优先于对象存在。静态方法被调用时对象可能还没创建自然无法访问依赖对象的非静态内容也没有this。工具类实战数组工具类工具类是封装通用功能、提高代码复用性的类。它的编写规范类名见名知意一般以Util结尾私有化构造方法禁止外界创建对象所有方法定义为静态方便类名直接调用下面是一个数组工具类的完整实现public class ArrayUtil { // 私有化构造方法禁止创建对象 private ArrayUtil() {} // 格式化打印数组返回字符串 public static String printArr(int[] arr) { String result [; for (int i 0; i arr.length; i) { if (i arr.length - 1) { result arr[i] ]; } else { result arr[i] , ; } } return result; } // 计算数组平均值注意整数除法问题 public static double getAverage(int[] arr) { int sum 0; for (int num : arr) { sum num; } // 关键乘以1.0转为浮点数避免整数除法丢失精度 return sum * 1.0 / arr.length; } }调用示例public class Test { public static void main(String[] args) { int[] arr {1, 2, 3, 4, 5}; // 直接类名调用不需要创建对象 System.out.println(ArrayUtil.printArr(arr)); System.out.println(平均值为 ArrayUtil.getAverage(arr)); } }三、重新认识main方法学完static我们终于能看懂main方法的每个部分了public static void main(String[] args)部分作用public最大访问权限保证JVM能调用staticJVM不需要创建对象直接用类名调用voidmain方法不需要给JVM返回值mainJVM约定的固定入口方法名String[] args接收程序运行时传入的参数四、static知识点速查表维度静态变量静态方法修饰对象成员变量成员方法归属属于类属于类加载时机随类加载随类加载调用方式类名/对象名推荐类名类名/对象名推荐类名访问限制-只能访问静态成员this关键字-不能使用写在最后static的核心就一句话静态的东西属于类不属于对象。静态变量所有对象共享一份数据静态方法工具类的标配不用创建对象就能用静态只能访问静态非静态可以访问所有搞懂这个逻辑static你就拿捏了。

相关文章:

Java static关键字全解析:从共享属性到工具类,一篇搞懂静态变量和静态方法

你有没有想过这些问题:为什么main方法是static的?为什么工具类的方法都是static的?为什么静态方法里不能直接调用非静态方法?今天这篇文章,我们就把static关键字彻底讲透。从共享属性到工具类,从内存原理到…...

【数据结构】顺序表的应用->通讯录(详细代码及配图)

小编主页详情<-请点击 小编gitee代码仓库<-请点击 本文主要介绍了数据结构的顺序表的应用->通讯录&#xff0c;内容全由作者原创&#xff08;无AI&#xff09;&#xff0c;同时深度解析了通讯录顺序表增删查改等功能&#xff0c;并带有配图帮助博友们更好的理解&#…...

008、系统组装与API服务化:构建完整RAG Pipeline

昨天深夜调试时遇到一个典型问题:用户问“今年Q3财报关键数据”,系统返回的却是三年前的老数据。检查发现,检索模块返回了相关文档,但排序逻辑把发布时间字段误当成相关性分数处理了。这种模块间接口不对齐的问题,在组装RAG系统时太常见了。 管道组装:不只是拼积木 很多…...

007、大语言模型集成:Prompt工程与上下文管理

昨天深夜调试时遇到一个诡异问题:同样的查询,在本地测试时LLM能准确返回产品参数,上了生产环境就总答非所问。盯着监控日志看了半小时才发现,某个微服务在拼接用户历史对话时,漏掉了两条关键消息——上下文窗口看似饱满,实则缺了核心信息。这个坑让我重新审视了RAG系统中…...

华为:渐进解锁细粒度视觉感知

&#x1f4d6;标题&#xff1a;FineViT: Progressively Unlocking Fine-Grained Perception with Dense Recaptions &#x1f310;来源&#xff1a;arXiv, 2603.17326v1 &#x1f31f;摘要 虽然多模态大语言模型&#xff08;MLLM&#xff09;经历了快速的发展&#xff0c;但其视…...

我郑重声明:我的目标是图灵奖,这是理工男的执念!所以在第一时间发现可实现AGI蓝图的时候,就给图灵奖官方邮箱发了论文PDF,这是存档+时间戳。我知道,明确知道,最终的AGI实现必然走我的路子。哈哈哈

总有人拿民科来说事&#xff0c;仔细想咱真也是民科&#xff0c;&#xff0c;&#xff0c;没啥说的&#xff0c;没混上教授的&#xff0c;那个不是民科&#xff1f;&#xff1f;&#xff1f; 不要拿民科怎么样来说事&#xff0c;我开始没说自己咋样&#xff0c;真就只想那个图…...

私域流量运营自动化 1.5 小时上手

OpenClaw 电商实战 第 2 篇 字数&#xff1a;约 10000 字 阅读时间&#xff1a;约 25 分钟 难度&#xff1a;⭐ 入门&#xff08;无需编程&#xff09; 更新时间&#xff1a;2026-04-01 写在前面 这个教程能帮你解决什么&#xff1f; 如果你是&#xff1a; ✅ 电商运营人员✅…...

LangChain与向量库集成:Document Loaders与Text Splitters

上周三凌晨两点&#xff0c;我被一个奇怪的召回问题卡住了&#xff1a;明明在PDF里写得很清楚的配置项&#xff0c;用相似问题去查向量库&#xff0c;总是返回一些边缘内容。打开调试日志一看&#xff0c;发现切出来的文本片段里&#xff0c;前半段是某个章节的结尾&#xff0c…...

CW32L012/F030灵眸X1智能小车--电机调速控制

1.认识PWM PWM&#xff08;Pulse Width Modulation脉宽调制&#xff09;是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。PWM是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用&#xff0c;方波占空比被调制用来对一个具体模拟信号的电平…...

三菱PLC与MCGS组态农田智能灌溉系统:后发送产品梯形图原理图及IO分配与组态画面解析

基于三菱PLC和MCGS组态农田智能灌溉系统 我们主要的后发送的产品有&#xff0c;带解释的梯形图接线图原理图图纸&#xff0c;io分配&#xff0c;组态画面上周刚把农田智能灌溉的项目收尾&#xff0c;把资料打包发给客户的时候&#xff0c;终于能瘫在椅子上喝杯冰可乐了。这个…...

【C++第二十三章】C++11

前言 &#x1f680;C11 常被称为现代 C 的起点。它不是一次零碎的小修小补&#xff0c;而是一次真正改变编程方式的大版本更新&#xff1a;从统一初始化&#xff0c;到 auto / decltype 的类型推导&#xff1b;从右值引用、移动语义&#xff0c;到完美转发&#xff1b;再到 lam…...

Redis 全量主从同步和增量主从同步详解

Redis 主从同步:全量同步与增量同步详解 Redis 主从复制是实现高可用、读写分离和数据冗余的基础。复制过程分为全量同步和增量同步两种模式。理解它们的工作原理、触发条件及配置优化,是系统分析师设计高可用 Redis 架构的关键。 📌 一、主从复制基本概念 主节点(Master…...

从熬夜改稿到一键成稿:Paperxie AI 毕业论文写作,本科生的学术通关神器

paperxie-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/AIPPThttps://www.paperxie.cn/ai/dissertationhttps://www.paperxie.cn/ai/dissertation 一、写论文的痛&#xff0c;每个本科生都懂 凌晨三点的宿舍&#xff0c;电脑屏幕亮着刺眼的光&#xff0c;Word 文…...

2026年全场景适配最值得关注的五大能源管理系统

各位读者&#xff0c;大家好&#xff01;在全球能源结构加速转型的当下&#xff0c;能源管理系统的发展至关重要。今天我要为大家介绍2026年全场景适配最值得关注的五大能源管理系统。这些系统对于企业提升能源管理的精细化、智能化水平&#xff0c;增强核心竞争力有着重要意义…...

MongoDB单节点转副本集(Docker安装版本)

为什么需要副本集&#xff1f;场景单节点副本集支持 Oplog❌✅MongoShake 同步❌✅数据备份恢复仅全量全量增量高可用❌✅核心结论&#xff1a;MongoShake 依赖 Oplog 实现实时同步&#xff0c;而 Oplog 只在副本集模式下产生。Docker Compose 配置version: 3.8 services:mongo…...

特定域名的proxy访问

不想破坏现有的proxy规则&#xff1b;某些域名需要proxy才可以上。 使用gost中的ss&#xff0c;简单搭建proxy&#xff1a;gost文档&#xff1a;https://v2.gost.run/ss/1. gost配置 服务端&#xff1a; gost -Lss://aes-128-gcm:password:8361客户端&#xff08;windows&#…...

2026届毕业生推荐的五大AI论文网站实际效果

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 倚仗自然语言处理跟学术知识图谱技术的AI开题报告工具&#xff0c;能够快速生成研究背景、文…...

2025最权威的降重复率网站解析与推荐

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 关于DeepSeek模型的学术论文&#xff0c;要着重于它的核心技术架构&#xff0c;这其中涵盖混…...

4 大类别 22 个高效的 Agentic Skills | 适用于 Claude、GPT

增强各类 AI 模型的能力&#xff0c;帮助你在写作、内容生产、研究分析、视觉表达、自动化执行等方面提升效率。 这些技能以 .md 格式编写&#xff0c;虽然这是 Claude 常用的技能格式&#xff0c;但你同样可以将内容复制到 ChatGPT 中使用。 Claude 如何创建 skill 国内用户…...

一篇吃透RNN(循环神经网络),LSTM(长短期记忆网络),BiLSTM(双向长短期记忆网络)算法,计算机小白也能轻松看懂

NLP-AHU-125&#xff08;神秘暗号&#xff09;哈喽各位CSDN的小伙伴们&#xff0c;我是一名专注AI入门干货的大学生博主&#xff5e; 相信刚接触深度学习序列模型的同学&#xff0c;都被RNN、LSTM、BiLSTM这三个“孪生兄弟”绕晕过&#xff1a;明明都是处理序列数据&#xff0c…...

Golutra:超越 IDE , 一个人,一个 AI 军团!使用赛博监工系统,指挥你的 AI 牛马

⚡ 你有没有想过&#xff0c;如何能像管理微信群一样管理你的 AI 团队&#xff0c;让多 Agent 协同工作不再是幻想&#xff01; | 以下观点都是个人使用&#xff0c;以及测评观点。 AI 工具革命的下一个阶段 如何能通过多路协同的方式调用不同的 AI 工具&#xff0c;然后又让…...

全域数学理论宇宙本源正式宣言(乖乖数学)

全域数学理论宇宙本源正式宣言 宣告日期&#xff1a;公元二〇二六年四月二日 宣告事由&#xff1a;庄严确立全域数学理论之宇宙本源核心定论&#xff0c;昭示宇宙根本运行法则&#xff0c;正式向世间宣告本理论之终极核心要义 序言 宇宙之本体、时空之本质、物质之根源&#xf…...

WarcraftHelper:魔兽争霸III终极优化指南 - 解决宽屏、帧率、地图限制三大痛点

WarcraftHelper&#xff1a;魔兽争霸III终极优化指南 - 解决宽屏、帧率、地图限制三大痛点 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 你是否还在…...

【教程4>第12章>第8节】基于FPGA的图像缩放实现——图像横向压缩仿真测试以及MATLAB辅助验证

本课程学习成果预览 目录 1.软件版本 2.图像横向压缩testbench编写 3.仿真测试 4.程序操作视频 欢迎订阅FPGA/MATLAB/Simulink系列教程 《★教程1:matlab入门100例》 《★教程2:fpga入门100例》 《★教程3:simulink入门60例》 《★教程4:FPGA/MATLAB/Simulink联合开发入门与…...

遗传算法VRP问题:VRP,多车容量约束 针对物流问题,根据实际情况,设置多车多容量,采用遗传...

遗传算法VRP问题&#xff1a;VRP&#xff0c;多车容量约束 针对物流问题&#xff0c;根据实际情况&#xff0c;设置多车多容量&#xff0c;采用遗传算法分析求解&#xff0c;在matlab实现并画图&#xff0c;展示求解结果前阵子帮做物流的表哥捋了捋他们的配送问题&#xff0c;本…...

根据所给文字范围,为您提供的总结标题为:“使用栅格法结合蚁群算法规划机器人全局路径

使用栅格法通过蚁群算法规划机器人全局路径上周帮实验室的学弟调他的机器人路径规划代码&#xff0c;他对着满屏的栅格地图挠头&#xff1a;明明地图里堵了个外卖柜&#xff0c;为啥机器人非要往那撞&#xff1f;后来聊到用蚁群算法做全局规划&#xff0c;才发现不少人把栅格法…...

Claude Code 之父:AI 的改变不止于代码,程序员需要改变整个工作流

高水平工程劳动&#xff0c;正在离开手写代码。编译 | 王启隆出品丨AI 科技大本营&#xff08;ID&#xff1a;rgznai100&#xff09;这两天&#xff0c;Claude Code 以一种多少有点尴尬的方式被更多人看见了。不是因为新模型发布&#xff0c;也不是因为哪场演示太惊艳&#xff…...

基于单片机的井盖监测系统

摘 要 当前我国设计的井盖监测主要通过在井盖上放置标识等放置被盗&#xff0c;然后监测到被盗后&#xff0c;通过摄像头对其进行跟踪&#xff0c;导致当前还是存在很多井盖被盗&#xff0c;因此此次设计一款主要针对井盖防盗系统&#xff0c;监测到井盖移动时发送信息到管理人…...

Java协议解析慢得离谱?5个被90%团队忽略的字节级优化陷阱,今天必须修复!

第一章&#xff1a;Java协议解析慢得离谱&#xff1f;5个被90%团队忽略的字节级优化陷阱&#xff0c;今天必须修复&#xff01;Java应用在高频网络通信场景&#xff08;如金融行情推送、IoT设备接入&#xff09;中&#xff0c;常因协议解析层性能瓶颈导致端到端延迟飙升——问题…...

【预测模型】基于VMD-SE-GRU+Transformer多变量时序预测 Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。&#x1f447; 关注我领取海量matlab电子书和数学建模资料&#x1f34a;个人信条&#xff1a;格物致知,完整Matl…...