用户操作
[即时聊天] [发私信] [加为好友]
张文生ID:wensheng_zh2007
1131次访问,排名2万外,好友6人,关注者9人。
学习,学习,再学习,永永远远学习。。。。。
wensheng_zh2007的文章
原创 18 篇
翻译 0 篇
转载 2 篇
评论 0 篇
张文生的公告
做它,你就要去享受它
最近评论
文章分类
    收藏
      相册
      dalian
      大连一景
      存档
      软件项目交易
      订阅我的博客
      XML聚合  FeedSky
      订阅到鲜果
      订阅到Google
      订阅到抓虾
      订阅到BlogLines
      订阅到Yahoo
      订阅到GouGou
      订阅到飞鸽
      订阅到Rojo
      订阅到newsgator
      订阅到netvibes

      原创 java中的fianl收藏

      新一篇: ...与[]区别 | 旧一篇: main()用法小技巧

      对于基本类型,final使数值恒定不变。而对于对象引用,final使引用恒定不变。一旦引用别初始化指向一个对象,就无法再把改为指向另一个对象。然而对象自身却是可以修改的。Java没有提供使任何对象恒定不变的途径。这一限制同样使用数组,它也是对象。不能因为某数值是final的就认为在编译时可以知道他的值。在运行是使用随机生成的值来初始化就说明这一点。

      java允许生成“空白final”是指被声明为final但又为给定初值的字段。无论什么情况,编译器都确保空白final在使用之前必须被初始化。必须在字段的定义处或者每个构造器中用表达式对final进行赋值,这正是final字段在使用钱总是被初始化的原因所在。

       
      使用final方法的原因有两个:第一个原因是把方法锁定,以防止任何类修改它的含义。这是出于设计的考虑,想要确保在继承中使用方法行为保持不变,并且不会被覆盖。使用final方法的第二个原因是效率。如果将一个方法指明为final,就是同意编译器将针对该方法的调用都视为内嵌调用。


      当将某个类的整体定义为final时,就表明了你不打算继承该类,而且也不允许别人这样做。换句话说,出于某种考虑你对该类的设计不需要做任何变动,或者出于安全考虑,你不需要它有子类。

       
      java中除了static方法和final方法(private方法属于final方法)之外,其他所有的方法都是后期绑定。为什么要将某个方法声明为final呢?正如前面所说,它可以防止其他人覆盖该方法,但更重要的一点或许是:这样可以有效地“关闭”动态绑定,或者说是告诉编译器不需要进行动态绑定。

       
      只有非private方法可以被覆盖,但是害死需要密切注意覆盖private方法的现象,这时虽然编译器不会报错误。但是也不会按照我们所期望的来执行。确切地说,在导出类中,对于基类中的private方法最好采用不同的名字

      发表于 @ 2008年04月24日 23:44:46|评论(loading...)|编辑

      新一篇: ...与[]区别 | 旧一篇: main()用法小技巧

      评论:没有评论。

      发表评论  


      当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
      Csdn Blog version 3.1a
      Copyright © 张文生