吴中区网站建设ip钓鱼网站在线生成
2026/2/16 14:32:58 网站建设 项目流程
吴中区网站建设,ip钓鱼网站在线生成,电商设计就是网站设计吗,开发定制网站公司#x1f3e0;个人主页#xff1a;黎雁 #x1f3ac;作者简介#xff1a;C/C/JAVA后端开发学习者 ❄️个人专栏#xff1a;C语言、数据结构#xff08;C语言#xff09;、EasyX、JAVA、游戏、规划、程序人生 ✨ 从来绝巘须孤往#xff0c;万里同尘即玉京 文章目录Java s…个人主页黎雁作者简介C/C/JAVA后端开发学习者❄️个人专栏C语言、数据结构C语言、EasyX、JAVA、游戏、规划、程序人生✨ 从来绝巘须孤往万里同尘即玉京文章目录Java static入门概述静态变量特点与基础实战 文章摘要一、static关键字是什么 小拓展Java vs C语言的static核心差异二、静态变量static修饰成员变量 2.1 静态变量的3大核心特点2.2 静态变量的2种调用方式2.3 实战案例Student类中的静态变量代码实现运行结果分析2.4 静态变量vs非静态变量 核心对比✍️ 写在最后Java static入门概述静态变量特点与基础实战✨知识回顾在进入Java面向对象的静态特性学习前我们已经掌握了JavaBean类的设计、对象的创建与使用、成员变量和成员方法的基础用法。而static关键字是面向对象中实现数据共享、功能复用的核心也是从“面向对象”向“类级别的操作”过渡的关键学好它能让我们的代码更简洁、更高效这篇就从基础的static概述和静态变量开始吃透静态特性的底层逻辑 文章摘要核心摘要本文从static关键字的基本定义出发对比C语言与Java中static的差异重点讲解静态变量的3大核心特点、2种调用方式并结合Student类实战案例拆解静态变量的使用逻辑帮你夯实静态特性的入门基础。阅读时长8分钟适合人群阅读重点 Java初学者重点理解静态变量的“类共享、属于类、优先对象存在”三大特点掌握基础调用方式。 高校计算机专业学生对比Java与C语言的static差异理清语法底层的设计逻辑。 初级开发工程师掌握静态变量在实际开发中的使用场景规避基础使用误区。 面试备考者熟记静态变量的核心特点为后续内存原理和面试题打基础。一、static关键字是什么static翻译为静态是Java中非常常用的修饰符它可以修饰类的成员变量、成员方法后续还会学到它修饰代码块静态代码块其核心作用是将修饰的内容提升到「类级别」脱离对象独立存在。简单来说被static修饰的内容不再属于某个具体的对象而是属于整个类所有该类的对象都会共享这份内容。 小拓展Java vs C语言的static核心差异很多学过C语言的同学会混淆static的用法这里直接做对比理清两者的核心区别避免记混C语言中的static主要修饰局部变量、全局变量、函数核心影响作用域和生命周期无“类级别”概念C语言static修饰目标作用域变化生命周期变化局部变量不变当前方法变长与程序一致全局变量变小从所有文件→当前文件不变与程序一致函数变小从所有文件→当前文件不变与程序一致而Java中的static是面向类的修饰符仅修饰类的成员变量/方法/代码块核心是将成员从「对象级别」提升到「类级别」与C语言的设计初衷和使用场景完全不同切勿混为一谈二、静态变量static修饰成员变量 当static修饰类的成员变量时这个变量就被称为静态变量也叫类变量与之对应的没有被static修饰的成员变量称为非静态变量也叫实例变量。2.1 静态变量的3大核心特点这是静态变量的核心考点必须熟记✅被该类所有对象共享这是静态变量最核心的特点一个类的所有对象共用同一个静态变量修改其中一个对象的静态变量值其他对象的该值也会同步改变。不属于对象属于类静态变量是类的属性不是某个对象的属性即使没有创建任何对象静态变量依然存在。随着类的加载而加载优先于对象存在Java程序运行时类会先被加载到方法区静态变量会跟着类一起初始化而对象是后续通过new关键字创建的因此静态变量的创建时机早于对象。2.2 静态变量的2种调用方式静态变量有两种调用方式推荐使用类名调用更能体现其“类级别”的特性。类名调用推荐类名.静态变量名对象名调用不推荐对象名.静态变量名Java语法允许但会掩盖静态变量的本质可读性差2.3 实战案例Student类中的静态变量结合实际场景理解一个班级的所有学生共享同一个班主任因此班主任姓名teacherName适合定义为静态变量而学生的姓名name、年龄age是每个学生的独有属性定义为非静态变量。代码实现// 学生类JavaBeanpublicclassStudent{// 非静态变量每个学生独有Stringname;intage;// 静态变量所有学生共享班主任staticStringteacherName;// 展示学生信息publicvoidshow(){System.out.println(name...age...teacherName);}}// 测试类publicclassTestStatic{publicstaticvoidmain(String[]args){// 方式1类名调用静态变量推荐Student.teacherName阿玮老师;// 创建第一个学生对象Students1newStudent();s1.name张三;s1.age23;s1.show();// 输出张三...23...阿玮老师// 创建第二个学生对象Students2newStudent();s2.name李四;s2.age24;s2.show();// 输出李四...24...阿玮老师// 方式2对象名调用静态变量不推荐// s2.teacherName 老王老师;// s1.show(); // 输出张三...23...老王老师所有对象共享同步改变}}运行结果分析我们仅通过Student.teacherName给静态变量赋值一次两个学生对象的teacherName都获取到了该值体现了所有对象共享的特点。赋值静态变量时我们还没有创建任何学生对象体现了静态变量优先于对象存在的特点。如果通过任意一个对象修改静态变量如s2.teacherName 老王老师所有对象的该值都会同步改变进一步验证了“共享性”。2.4 静态变量vs非静态变量 核心对比用表格清晰区分避免使用时混淆对比维度静态变量类变量非静态变量实例变量所属级别属于类属于对象加载时机随类加载而加载优先存在随对象创建而加载共享性所有对象共享每个对象独有调用方式类名调用推荐/对象名调用仅能对象名调用内存存储方法区的类静态区域堆内存的对象区域✍️ 写在最后本文核心掌握static关键字的基本定义以及静态变量的3大特点2种调用方式这是静态特性的入门基础后续的静态方法、静态代码块都是基于这个核心延伸的。记住Java与C语言的static无直接关联不要用C语言的逻辑理解Java的静态特性避免走入误区。实际开发中当一个属性需要被所有对象共享时就定义为静态变量比如班级的班主任、系统的全局配置、工具类的常量等。静态变量的调用优先使用类名调用这是开发规范能让代码的可读性更高一眼看出这是类级别变量。下一篇我们会深入底层通过内存图解析静态变量的存储位置和访问逻辑同时排查静态变量的常见使用错误帮你从“会用”升级为“理解底层”❤️ 我是黎雁专注Java基础与实战分享关注我一起从0到1吃透Java面向对象 后续文章预告《Java静态变量底层内存图解析避坑指南》 评论区交流你在使用静态变量时遇到过哪些问题或者有哪些疑惑欢迎留言讨论

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询