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

原来是这样阿1

原来是这样阿1

2016-02-19 18:55

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

当编译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) {
  
  ....
  
  }}

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

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

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

download(8080);

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

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)
展开更多 50%)
分享

猜你喜欢

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

编程语言 网络编程
当修改final值时要重新编译类

高手进阶重新编译Linux操作系统的内核

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
高手进阶重新编译Linux操作系统的内核

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

weblogic 8.1下重新编译java类但不用重启服务器的方法

Web开发
weblogic 8.1下重新编译java类但不用重启服务器的方法

重新编译PLSQL中的无效对象或者指定的对象 的方法

编程语言 网络编程
重新编译PLSQL中的无效对象或者指定的对象 的方法

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

在编译时获得提示

Delphi
在编译时获得提示

jdk中String类设计成final的原由

编程语言 网络编程
jdk中String类设计成final的原由

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

利用Yahoo!免费获取可重复使用的CSS-Web标准教程

利用Yahoo!免费获取可重复使用的CSS-Web标准教程

线程与Swing

线程与Swing
下拉加载更多内容 ↓