java static的作用

article/2025/11/8 19:05:46

static是什么

static是java中的关键字,static表示”全局”、“静态”的意思,用来修饰成员变量和成员方法,定义的变量,我们通常将用static修饰的成员称为静态变量,静态方法或者静态成员。

static的作用

  1. 被static修饰的成员变量和成员方法独立于该类的任何对象
  2. static修饰的成员变量和成员方法可以直接通过类名来访问

对上面4条作用的解释并举例说明

1、被static修饰的成员变量和成员方法独立于该类的任何对象

在jvm虚拟机中,被static修饰的成员都存储在方法区中。

方法区:它也叫“静态区”,被所有的线程共享,它包含了所有的static变量。

而不被static修饰的成员我们称为普通变量,这些变量存储于jvm的堆中。

方法区中存放的静态变量不会随着对象的消失而消失,只会在程序结束之后才会被回收。
:所有创建的对象都存储在里面,jvm只有一个堆区(heap)被所有线程共享,堆中不存放基本类型和对象引用,只存放对象本身。

举个例子

package staticProblem;public class Common {private static String staticStr;private String commonStr;public void input(){System.out.println(staticStr + " " + commonStr);}public static void main(String[] args) {Common.staticStr = "张";Common common1 = new Common();common1.commonStr = "三";common1.input();Common common2 = new Common();common2.input();    }
}
运行结果如下:
张 三
张 null

从上面可以看到:
静态变量staticStr并不会随着对象的消失而消失,他还是会存在,而普通变量commonStr存放在堆中,会重新加载。


2、static修饰的成员变量和成员方法可以直接通过类名来访问

举个例子就明白了

代码如下

package staticProblem;public class Common {private static String staticStr;private String commonStr;public void input(){System.out.println(staticStr + " " + commonStr);}public static void staticInput(){System.out.println(staticStr);}public static void main(String[] args) {System.out.println("静态方法:");Common.staticStr = "张";Common.staticInput();System.out.println("------------------------");System.out.println("普通方法:");Common common = new Common();common.input();}
}
运行结果:
静态方法:
张
------------------------
普通方法:
张 null

由结果可知:
加上static关键字的方法成员变量不需要再经过实例化new,这样的操作方便了许多,且性能上也提高了。

总结:

静态变量就像是外面的情侣套房,情侣们给钱就能入住,所使用的床,浴池等等都是一样的,而成员变量就像是一对对进来入住的情侣,他们所带来的与所产生的东西都是不同的,这些物品会随着他们的消失而消失。但是套房里的物品并不会因为他们的离开而消失,而是随着这家酒店宾馆的倒闭而消失。


北京市需要租房或者转租房子,找舍友合租的都可以关注这个公众号哦,可帮忙发布房源信息,上面也有uu发布的转租信息呢。
请添加图片描述
在这里插入图片描述


http://chatgpt.dhexx.cn/article/XUQRevvi.shtml

相关文章

static的作用有哪些?

C语言中的static的作用有:1.修饰局部变量。2.修饰全局变量。3.修饰函数。 1.修饰局部变量。 如图: 当只用int 定义变量a时,此时程序运行结果为: 程序运行结果为10个2,这是为什么呢?? 原因是此时的变量a为…

C语言中 static作用

在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。隐藏保持数据持久初始化为0 该图是下面文字的总结: 1.先来介绍它的第一条也是最重要的一条:隐藏。 当我们同时编译多个文件时,所有未加static前…

C语言中static作用

1,static修饰局部变量 在局部变量之前加上关键字static,局部变量就被定义成为一个局部静态变量。 特点如下: 1)存储区:由于栈变为静态存储区rw data,生存期为整个源程序,只能在定义该变量的函数内使用。退出该函…

对DSP的基本了解(一)--DSP是什么?

Preface:在学习一个新东西之前,我们需要对一些基本概念或者专业术语进行基本的理解,这样才能扫除壁垒,让学习更加高效。因此,DSP学习系列首先会比较注重对DSP相关术语上的理解。所以最开始,我们先来学习一些…

DSP学习

DSP数字电源学习一 软件环境搭建相关硬件资源TMS320C28x 32 位 CPU可编程控制律加速器 (CLA)片上存储器时钟和系统控制1.2V 内核、3.3V I/O 设计系统外设通信外设模拟系统 软件相关控制算法数据记录功能代码示例MathWorks Simulink 模型文档 由于最近工作需要,需要学…

DSP/BIOS详解入门

DSP/BIOS详解入门 百度百科DSPBIOS DSP/BIOS是TI公司特别为其TMS320C6000TM,TMS320C5000TM和TMS320C28xTM系列DSP平台所设计开发的一个尺寸可裁剪的实时多任务操作系统内核,是TI公司的Code Composer StudioTM开发工具的组成部分之一。 DSP/BIOS 实时操作…

DSP基础知识回顾

文章目录 1. 什么是DSP2. DSP与其他主流芯片的区别2.1 DSP与MCU的区别2.2 DSP与ARM的区别2.3 DSP与FPGA的区别 3. TI公司DSP具体型号的含义4. TMS320x2814的片内外设4.1 事件管理器4.2 模拟量转换为数字量的ADC采样模块4.3 串行通信接口SCI4.4 串行外围设备接口SPI4.5 局域网通…

DSP学习 -- 前言

已经换工作20天了,感觉又是换行业了一样。跳入DSP和FPGA的大坑了。 除了C语言基础还算可以,其他要学的东西太多了。 也是,终于可以又回到那种能学习和吸取新鲜知识的节奏了。相对来说虽然很累,但是我还是比较喜欢这种状态。总比吃…

最强ADI SHARC系列DSP:ADSP-SC589的开发入门详解

作者的话 ADI的SHARC系列DSP,现阶段最强的型号是SC589,那么我就以SC589为例,写一点资料,让新手能够比较便捷的熟悉开发环境,软硬件,顺利的进入开发。 文档解决的是入门的问题,所以不会深入去写…

嵌入式开发之DSP学习

一、ARM、DSP、FPGA ARM具有比较强的事务管理功能,可以用来跑界面以及应用程序等,其优势主要体现在控制方面;ARM是32位的单片机,其内部硬件资源的性能较高,可以加载操作系统成为其主要特点,有了操作系统&am…

[培训-DSP快速入门-2]:C54x DSP处理器的架构

作者主页(文火冰糖的硅基工坊):https://blog.csdn.net/HiWangWenBing 本文网址:https://blog.csdn.net/HiWangWenBing/article/details/118889692 目录 1. C54x芯片的总体基本架构 1.1 冯诺依曼结构 1.2 哈佛结构 1.3 混合结构 1.4 C54x芯片结构 …

dsp基础算法

【小编】发现好文一篇,让大家对DSP中的基础算法和模型有一个初步的了解。 (转载请保留原文链接 http://www.techinads.com/archives/41authored by 江申_Johnson) 美国有一家很优秀的DSP公司–M6D(m6d.com)&#xff0c…

初学DSP(1)-TMS320F280049C入门

目录 前提 知识点 深入了解DSP和ARM的关系(相同与区别) DSP CMD学习笔记(连接物理存储和逻辑存储) CMD文件详解与DSP存储空间 DSP 程序远程升级 / Bootloader设计指南(一)—— 初识Bootloader/DSP引导…

【FPGA-DSP】第一期:DSP基础

目录 1. DSP基础 1.1 DSP基本概念 1.2 FPGA实现DSP的特点 2. DSP硬核的结构与使用 3. FPGA设计DSP技术 3.1. 浮点数与定点数的表示与转换 3.1.1. 双精度浮点数表示 3.1.2. 双精度浮点数与定点数的转换 本章作为FPGA数字信号处理的入门介绍课程,将介绍DSP的…

DSP基础知识

1.定义 数字信号处理器(英文:Digital Signal Processor)是集成电路芯片组成的用来完成数字信号处理任务的处理器。 2.功能 2.1ANR/ANC 其原理是降噪系统电路产生降噪MIC接收的外界环境噪音相等的反相信号,将噪声抵消。实现50-2K…

DSP的入门学习(一)

#硬件讲解与分类 1.DSP DSP(digital signal processor)是一种独特的微处理器,是以数字信号来处理大量信息的器件。其内部采用程序和数据分开的哈佛结构,具有专门的硬件乘法器,广泛采用流水线操作,提供特殊…

DSP-BIOS使用入门

从环境说到搭建第一个工程 请注意,此文默认读者已经对DSP及CCS V3.3环境有一定的了解了,知道cmd文件的配置,知道新建工程,编译并连接仿真器下载!如果你对这些还都不熟悉,请先熟悉这些!当然&…

【DSP】【第一篇】开始DSP学习

2022年6月14日 1. 部署开发环境 略。工作需要,TMS320C6678。 从今天开始学习DSP的知识。 后面会补充如何安装部署环境。 1.1 组件 1.1.1 SDK MCSDK(CCSv5,CCSv6)Path(全英文路径,无中文,无空格) 安装完之后&#xf…

DSP的入门学习(二)

DSP的入门学习(二) 1.了解所用的设备资源 图为 Code Composer Studio 6.0.0.00190 C/C开发环境 1.1 简单介绍建立一个CCS项目工程 上图所用到的是:硬件平台基于TMS320F28335芯片,软件平台基于TI的Code Composer Studio 6.0.0.…

[培训-DSP快速入门-1]:DSP概述(基本框架、CPU, GPU, FPGA比较,常见型号)

作者主页(文火冰糖的硅基工坊):https://blog.csdn.net/HiWangWenBing 本文网址:https://blog.csdn.net/HiWangWenBing/article/details/118885060 目录 引言: 第1部分 什么是DSP 第2部分 为什么需要DSP 第3部分 DSP的基本框架 第4部分 C…