社区
Java SE
帖子详情
静态常量与非静态常量的区别
h3g2010
2011-11-25 04:22:17
今天用Eclipse的一个FindBug插件来扫描工程,提示了好多这样的问题:
就是建议把
private final int ABC = 1;
替换成
private static final int ABC = 1;
我们都知道,静态类型只需要初始化一次,但是这样就常驻内存了不是吗,我的问题就是为什么常量要声明称静态的呢?
请各位大侠指教!
...全文
644
11
打赏
收藏
静态常量与非静态常量的区别
今天用Eclipse的一个FindBug插件来扫描工程,提示了好多这样的问题: 就是建议把 private final int ABC = 1; 替换成 private static final int ABC = 1; 我们都知道,静态类型只需要初始化一次,但是这样就常驻内存了不是吗,我的问题就是为什么常量要声明称静态的呢? 请各位大侠指教!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
liujiaoshui
2012-11-13
打赏
举报
回复
用static修饰过的常量会存到常量池里面。存入的方式是:先到常量池里面寻找,看是否该常量已经存在,如果存在返回该常量的引用,不存在就在常量池里面新建一个常量,返回引用。如果没有修饰,就属于对象的属性,绝大多是对象是存在堆中,也就是如果多个对象存在同样一个常量,在堆中会为每一个对象的该常量分配存储空间。由此可以看出,static修饰后的作用就是减少内存的消耗,常量的存储位置发生了变化。
JAVAkuroro
2011-11-30
打赏
举报
回复
可以把static final 看做类变量 一个类中只有唯一的一个 final看做对象变量 每个对象里面只有唯一一个 但是各个对象的final变量可以不一样
lliiqiang
2011-11-30
打赏
举报
回复
static是代表所有的对象共用的资源
Firebirds
2011-11-30
打赏
举报
回复
static 的 内存只能存在一个。非static的 可以有N个 一个对象就有一个!·
小绵羊
2011-11-29
打赏
举报
回复
private final int ABC = 1;该类的每个实例都持有一个abc变量
private static final int ABC = 1;整个应用中只存在一个abc变量
cp298674954
2011-11-29
打赏
举报
回复
static 是确定生命周期的
孟祥月
2011-11-29
打赏
举报
回复
[Quote=引用 2 楼 awusoft 的回复:]
什么叫常量?一般来说就是不会变的量
静态与非静态:
静态:对于该类的对象来说,都只有一个,叫类变量
非静态:每个该类的对象都各有一个,叫成员变量.
因为是常量,不会变的,所有的对象都是一样的,所以就只需要一个就够了.
工商银行卡类:他们有一个静态的银行卡名称叫:工商银行卡-->静态
每个卡又月自己的卡号-->非静态.
在创建对象的时候,需要每个成员变量(非静态)……
[/Quote]
很详细 楼主看了这个就可以不看别的了
lxbccsu
2011-11-29
打赏
举报
回复
常驻内存只有在加载了当前类的时侯才会发生;
波杰克男
2011-11-27
打赏
举报
回复
楼上的强大
awusoft
2011-11-27
打赏
举报
回复
什么叫常量?一般来说就是不会变的量
静态与非静态:
静态:对于该类的对象来说,都只有一个,叫类变量
非静态:每个该类的对象都各有一个,叫成员变量.
因为是常量,不会变的,所有的对象都是一样的,所以就只需要一个就够了.
工商银行卡类:他们有一个静态的银行卡名称叫:工商银行卡-->静态
每个卡又月自己的卡号-->非静态.
在创建对象的时候,需要每个成员变量(非静态)开辟内存空间,类变量(静态变量)则是在类加载的时候就创建好了.
叮当你去哪了
2011-11-25
打赏
举报
回复
减小内存开销,static,保证了你的ABC变量在内存中只有一个,而且唯一
php 类中的
常量
、
静态
属性、非
静态
属性的
区别
主要介绍了php 类中的
常量
、
静态
属性、非
静态
属性的
区别
与介绍,需要的朋友可以参考下
Java
静态
方法/变量,非
静态
方法/变量的
区别
静态
/非
静态
方法/变量的写法 大家应该都明白
静态
方法/字段比普通方法/字段的写法要多一个static关键字,简单写下他们的写法吧,了解的可以直接略过 class Test{ //
静态
变量 public static int id = 1; // 普通...
编程技能训练与等级考试辅导:
静态
变量、
常量
和方法.pptx
静态
变量、
常量
和方法学习目标理解实例成员与
静态
成员会区分实例变量和
静态
变量、实例方法和
静态
方法。掌握访问
静态
成员的方法;区分访问
静态
成员与实例成员的不同方法;9.7 static members(
静态
成员)
静态
的成员...
yanxiaonan0201-lyz_naocs-master_java_
读写分离 基于NACOS和JAVA反射机制动态更新JAVA
静态
常量
非@Value注解
cholesky分解的matlab代码
cholesky分解 用来分解对称正定矩阵的matlab代码 从而方便求解线性方程组
Java SE
62,614
社区成员
307,327
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章