当修改final值时要重新编译类

2016-02-19 18:55 2 1 收藏

下面是个超简单的当修改final值时要重新编译类教程,图老师小编精心挑选推荐,大家行行好,多给几个赞吧,小编吐血跪求~

【 tulaoshi.com - 编程语言 】

当编译final变量时,Java编译器通过直接将他们拷贝到使用它们的类中的方式作了优化。这提高了Java应用的速度,但是假如你修改并且重新编译了原始的类,而没有重新编译使用它的类,那么新的值就没有被拷贝过去。
  
  例如,对于两个类ClassA和ClassB:
  
  public class ClassA {
  
  static public final int PORT = 80;
  
  }
  
  public class ClassB {
  
  public ClassB() {
  
  download(ClassA.PORT);
  
  }
  
  private void download(int port) {
  
  ....
  
  }}

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

ClassB中的第4行将象下面这样编译:
  
  download(80);
  
  当ClassA中的第3行变成了下面这样:
  
  static public final int PORT = 8080;

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

ClassB会仍然保持了于原来相同的值。你必须也重新编译ClassB,以便那一行更新为下面这样:

download(8080);

移除final要害字是可能的,但是在许多时候经常会优先考虑速度的提高。确保所有的类都被编译过。假如你使用了一个build工具,例如ant,当代码还处于开始的不稳定阶段时,要使用ant clean和rebuild。


来源:http://www.tulaoshi.com/n/20160219/1619520.html

延伸阅读
标签: 整容
问答 图钉提问: 做完下巴快一个月了,又方又长,医生还说等恢复,想马上取出来,但是垫下巴真的很痛苦,恢复期间非常痛苦,好害怕啊!看起来就像拖着包子出门一样! 图老师解答: 病情分析:       本来很美丽的姑娘,去美容,既受罪,又丑化自己,真的不值。       指导意见...
我要当爸爸啦 紧张! 看着检测纸上慢慢地像血一样渗透出的两道红线,等待了许久的心终于又回到了肚子里。脑袋里什么也想不起来,呆呆的。而刚刚回来的心,却像个偷听到一个非常有趣的小道消息,正等着跟别人诉说的隔壁大妈一样,偷偷的坏乐!嘿……嘿…… 据非官方正式统计,第四次的测定结果。她——我的妻子,娇小而又带着一点点唐代美...
为了面子,伤害了孩子 文/春添妈妈 早上我送儿子去幼儿园。因为去得很早,就跟儿子在幼儿园里玩滑梯。 一会,来了2个小男孩,都是4岁左右。男孩儿A跟着爷爷,男孩儿B跟着奶奶。男孩儿B的奶奶很生气地来到男孩儿A的面前说:“你以后不许再打XX了,你要是在这样,我告诉你爷爷,让他治你……” 男孩儿A的爷爷在旁边可能觉得特没面子,马上开始...
标签: 小孩
当孩子感冒发烧时 ▲正确认识发烧 人体能够保持恒温,是由于有一套产热和散热的有效机制。在神经中枢的调节下,散热和产热保持在平衡的状态,体温就能维持在比较固定的水平上。恒温对于人体内各种生理活动是十分重要的。因为各种生理活动,都需要有酶的参加。酶是一种蛋白质,它的活性只有在恒定的体温下才能发挥作用。过高...
男人要健康 不要当outman 生活就像跷跷板,有起有落,忽近忽远;有时精彩纷呈,有时平淡无味。身处大都市的人们每天都在寻找自己的支点,试图把握住那份平衡。与爱人相处,与疾病抗衡,与时间赛跑……在复杂交织的生活网中,想要不失衡实属不易。明天就是世界男性健康日,华西都市报《养生周刊》特推出“关...

经验教程

878

收藏

59
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部