您现在的位置是:首页 > 编程 > 

Java中的static关键字详解

2025-07-27 21:35:29
Java中的static关键字详解 一、static关键字概述1、是什么静态修饰符;2、有什么用程序运行时由系统分配存储空间来存储数据,存储空间由系统自动回收。静态意思就是指定所分配的某一块存储空间一直存在,直到程序退出后才会释放该存储空间;、Java中被static关键字修饰的成员Java中被static关键字修饰的成员成为静态成员,或者类成员,该成员属于类而不属于类的实例对象,在类被加载时自

Java中的static关键字详解

一、static关键字概述

1、是什么

静态修饰符;

2、有什么用

程序运行时由系统分配存储空间来存储数据,存储空间由系统自动回收。静态意思就是指定所分配的某一块存储空间一直存在,直到程序退出后才会释放该存储空间;

、Java中被static关键字修饰的成员

Java中被static关键字修饰的成员成为静态成员,或者类成员,该成员属于类而不属于类的实例对象,在类被加载时自动进行初始化,可以通过类名.成员名直接调用(普通成员需要创建类的实例对象,通过实例对象.成员名进行调用);

二、static静态变量

1、变量分类

类的成员变量按照是否被static修饰,分为静态成员变量和普通成员变量;

2、静态变量和普通变量的区别

备注:实例对象也可以调用静态变量,但不建议不这么做;

、静态变量的优缺点

优点:

方便:属于类级别的,不需要创建对象就可以直接使用;

唯一:全局唯一,内存中唯一,静态变量可以唯一标识某些状态;

省内存:在类加载时候初始化,常驻在内存中,唯一,直到程序退出;

缺点:

线程不安全;

内存负担:长时间驻留在内存中,若静态变量过多,会加重内存负担;

无法调用非静态成员;

4、静态变量使用场景

适合作为全局变量进行定义;

三、static静态方法

1、方法分类

类的成员方法按照是否被static修饰,分为静态成员方法和普通成员方法;

2、静态方法和普通变量的区别

备注:实例对象也可以调用静态方法,但不建议不这么做;

、静态方法的优缺点

优点:

方便:属于类级别的,不需要创建对象就可以直接使用;

缺点:

线程不安全;

内存负担:长时间驻留在内存中,若静态变量过多,会加重内存负担;

无法调用非静态成员;

备注:上面的都是理论知识,实际开发中,根据实际项目需求进行灵活调整即可。

4、静态方法使用场景

经常被使用到工具类中;

四、static静态代码块

1、概述

static静态代码块不属于任何类成员,可以出现多个,类加载时会按照先后顺序执行,只会执行一次!

2、使用场景

对静态变量进行初始化;

五、补充

1、静态代码块、普通代码块、构造函数执行机制

静态代码块:

当类加载时,执行静态代码块,只执行一次;

普通代码块、构造函数:

当创建对象时,执行普通代码块和构造函数,先执行普通代码块后执行构造函数;

执行机制:

调用静态变量或者静态方法时执行静态代码块;

第一次创建对象时执行静态代码块——普通代码块——构造函数;

第二次及之后再创建对象时执行普通代码块——构造函数;

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2025-01-06,如有侵权请联系 cloudcommunity@tencent 删除对象内存javastatic变量

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/biancheng/1198288.html

相关标签:无
上传时间: 2025-07-23 11:15:36

上一篇:【Redis】001

下一篇:【Spring Cloud】009

留言与评论(共有 13 条评论)
本站网友 温州电影
3分钟前 发表
直到程序退出后才会释放该存储空间;
本站网友 平安理财
11分钟前 发表
会加重内存负担;无法调用非静态成员;备注:上面的都是理论知识
本站网友 海德堡花园
12分钟前 发表
静态方法和普通变量的区别备注:实例对象也可以调用静态方法
本站网友 曾可
4分钟前 发表
static关键字概述1
本站网友 非普通住房
17分钟前 发表
概述static静态代码块不属于任何类成员
本站网友 恢复被删除的相片
2分钟前 发表
普通代码块
本站网友 gogou
24分钟前 发表
根据实际项目需求进行灵活调整即可
本站网友 动作图片
14分钟前 发表
唯一
本站网友 哈尔滨广厦学院
16分钟前 发表
是什么静态修饰符;2
本站网友 癫痫病军海医院
10分钟前 发表
内存中唯一
本站网友 陈友
9分钟前 发表
静态变量使用场景适合作为全局变量进行定义;三
本站网友 糖尿病饮食疗法
0秒前 发表
静态变量使用场景适合作为全局变量进行定义;三