static关键字的作用

news/2024/12/21 23:38:55/

通常情况下成员变量隶属于对象层级,每创建一个对象就需要申请独立的内存空间来存放该对象独立的成员变量信息,若所有对象的某个成员变量数值完全一样却又单独存放会造成内存空间的浪费

为了解决上述问题,则使用static关键字修饰成员变量表达静态的含义,此时该成员变量由对象层级提升为类层被所有对象共享,该成员变量随着类的加载准备绪,与是否创建对象无关。

static的属性/代码块/方法都是隶属于类,在类加载时就准备完成了,而不需要创建对象(new)。

类加载只做一次,包括:

  1. 类名. 的时候会类加载
  2. new对象时会类记载
  3. 程序员可以用程序加载,比如:Class.forName()

static关键字也可以修饰成员方法,推荐使用 类名. 的方式访问。

静态的成员(属性和方法)可以用对象. 调用,但一般推荐用 类名. 调用。

参考资料:Java 编程进阶 41 - static关键字的基本概念


http://www.ppmy.cn/news/42229.html

相关文章

Unity ads广告插件的使用

介绍 Unity Ads SDK 由领先的移动游戏引擎创建,无论您在 Unity、Xcode 还是 Android Studio 中进行开发,都能为您的游戏提供全面的货币化框架。 使用 Unity Ads 将各种广告格式合并到游戏中的自然呈现点中。例如,您可以实施激励视频广告来构建更强大的游戏经济,同时为您的…

VVC之编码结构

VVC之编码结构(新一代通用视频编码的读书笔记)缩写概述EncAppmain函数解读缩写 缩写含义CVSCoded Video Sequence, 编码视频序列IRAPIntra Random Access Point, 帧内随机接入点GDRGradual Decoding Refresh, 逐渐解码刷新AUAccess Unit, 访问单元PUPic…

【Matlab算法】粒子群算法求解二维线性优化问题(附MATLAB代码)

MATLAB求解二维线性优化问题前言正文函数实现可视化结果前言 二维线性优化问题指的是在二维空间中,对于一个由线性函数构成的目标函数,通过限制自变量的范围或满足特定的约束条件,寻找一个最优解(最小值或最大值)。这…

C语言从入门到精通第2天(深度解析C语言数据类型及取值范围)

C语言基本数据类型及取值范围数据存储概述基本数据类型整型数的二进制表示浮点型数的二进制表示取值范围数据存储概述 C语言的变量有着不同的数据类型,每种数据类型的取值空间都是不同的,因此,不同数据类型的变量,其取值空间也不…

Centos7安装部署Jenkins

Jenkins简介: Jenkins只是一个平台,真正运作的都是插件。这就是jenkins流行的原因,因为jenkins什么插件都有 Hudson是Jenkins的前身,是基于Java开发的一种持续集成工具,用于监控程序重复的工作,Hudson后来被…

在 Linux 上使用 Pigz 更快地压缩文件,真的快!

Pigz是一款快速压缩文件的工具,它能够使用多个CPU核心进行压缩,使得压缩速度得到了极大的提升。在本文中,我们将介绍如何在Linux上使用Pigz来更快地压缩文件。 安装Pigz 在开始使用Pigz之前,我们需要先安装它。在大多数Linux发行…

【ros2】ubuntu18.04同时安装ros1和ros2

序言 ubuntu18.04(已安装ros melodic)中安装ros2 dashing版本,以支持ros2工程的编译使用 1. 安装ros melodic 参考我之前的文章:docker容器中安装melodic-ros-core过程总结 2. 安装ros2 dashing (1)设置…

[论文速览] Sparks of Artificial General Intelligence: Early experiments with GPT-4

Sparks of Artificial General Intelligence: Early experiments with GPT-4 2023.3.22 微软官方发布了目前人类史上最强AI模型 GPT-4 的综合能力评估论文,总所周知,2023年是通用人工智能(Artificial General Intelligence,AGI&a…