注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

郁夫的博客

我爱你们,只是你们不知道!

 
 
 

日志

 
 
 
 

static和final的问题!--转  

2008-01-23 23:00:44|  分类: JAVA |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
 我想定义一个常量,但是想直接用final但是看到前辈们都用static  final  
 所以我也用两个一起修饰,但是有个问题就是不是,这样的话,只能在静态的方法里才能用这个常量呢?不用static会有什么不好的结构吗?
 
 
 

不是只有静态方法里才能用这个常量。  
 不用static修饰就是成员,必须和实例关联在一起。用起来就没有常量方便。

发表者:micker
 
 

static为静态,主要好处是它不是依赖于对象而存在,而是依赖于类而存在,就是没有实例一个对象的时候也能引用。如:string.valueof();就是如此,而其他的必须要先定义一个对象。 
 而final是只能定义一次,类似于c里的常量的定义。

发表者:bluesmile979

一般常量定义用static   final  因为这样所有定义该常量类的实例使用同一份内存数据,节省开销。 
   
  比如class   a{ 
  public   static  final   int  con   =   1; 
  }  
   
  a   a1   new   a(); 
  a   a2   new   a(); 
   
  a1,a2使用同一个内存空间,参考static  的概念定义。

发表者:takecare
 
 

在成员或者常量的使用下  
  static  表明全局的,这个类只有这么一个成员,所有这个类不同实体,都用的是同一个成员。 
  final  表明“常量”,不能进行赋值操作,其实是想表明这个的内容不能修改!大家用的都是一样的。 

发表者:jiankou2001

static为静态,主要好处是它不是依赖于对象而存在,而是依赖于类而存在,就是没有实例一个对象的时候也能引用。如:string.valueof();因为string里面的valueof()方法是静态的! 
 顺便说一下string是一个final类不能被继承了!还有就是像bluesmile979(笑着)就的一样这样可以节省开销的!!

 

 

发表者:guozhanxian

用不用static要看你类对象中这个数据是要存一份还是可以有多份!如果只想要一份的话就用static了!

  评论这张
 
阅读(122)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017