当前位置:  技术问答>java相关

高手请进来

    来源: 互联网  发布时间:2015-05-12

    本文导语:  Class A 有一个static final attribute a=1; Class B 使用A的a. 如果编辑Class A,令a=2. 重新编译Class A,而不编译B,结果B的执行过程中 A的a任为1。 为什么会这样? 难道修改一个Class的static 属性,一定要把所有使用到这个C...

Class A 有一个static final attribute a=1;
Class B 使用A的a.

如果编辑Class A,令a=2. 重新编译Class A,而不编译B,结果B的执行过程中 A的a任为1。
为什么会这样?
难道修改一个Class的static 属性,一定要把所有使用到这个Class的Class都重新编译一遍吗?
有什么办法可以解决这个问题吗?或者有什么办法可以避免这种情况的产生吗?

|
好像不可以。就麻烦将就着编译吧。

|
似乎是没有什么解决办法。。。。

|
public class A{
public final int i;
A(){i=1;};
}

public class B{
public static void main(String[] args){
A a=new A();
System.out.println(a.i);
}
}

javac A.java
javac B.java
java B
1


public class A{
public final int i;
A(){i=2;};
}

javac A.java
java B
2

至于static就不是问题了,你自己想想该怎么处理吧

|
因为static final的变量,编译的时候是直接将其值代进去编译的,而不是用A.xxx,这个在反编译B的时候就可以看出来

|
同意sojkey(), final类型的primitive变量是按值被编译进class的,而不是按引用,所以你改了A中的i变量并不能改变B的Class. 只有重新编译B,让它再去取一次A的i值。

    
 
 

您可能感兴趣的文章:

  • 请问LINUX C与C++哪一个更有意义去发展,请高手与专家进来提出宝贵意见,快点进来啦!!!!!!!!!!!!
  • 呵呵!只要搞和喜欢嵌入式开发的同仁并高手都进来!!!!进来有分,不够再加!
  • VIM高手进来看,vim中出现了奇怪的颜色。
  • 高手进来啊
  • 关于Swing的问题,请高手进来!!!
  • 在sendmail里调用其他处理邮件程序的问题,高手进来!
  • linux c编程问题,望高手进来看一下, 多谢!
  • 请高手进来救命!!!
  • 很简单的问题,高手进来帮一下忙!!!!!!!!!!!!
  • 高手请进来看看!
  • 一个用PartitionMagic6分区问题,高手进来瞧瞧
  • 高手进来
  • 高手进来,用户登录后马上执行一个脚本,如何做?
  • 一个shell的问题,请各位高手进来帮忙了,急,谢谢
  • !!SATA硬盘安装FC4,找不到硬盘 请高手进来解答
  • 高手请进来,如何选择tab键给出的提示?
  • gstreamer高手进来
  • oops实现,高手进来说说
  • 高手进来做做,Redhat 5 装完 xorg-x11-libs...重启黑屏
  • 一个菜鸟问题,对高手来说很简单,先来先得,快点进来回答吧!!!!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 高手,高手,高高手请进!
  • 有熟悉EXIM的高手高手么??
  • to 高手:学java应该怎样一步步学习,从菜鸟到高手.
  • 高分请高手,高手定能解决
  • 请问高手在linux中用什么命令可以做linux的启动盘???在等待高手??
  • 有高手研究Agent++麽?里面有个thread.h,蛮难读的,请高手指点
  • 难道高手区里的人就是高手?
  • 在dos下用bc31挑战高手******开发mssql程序,连接时报link err:undefined symbol GETNOTE in module DBEXTERN?(挑战高手)
  • 真正的linux高手,请看过来,看你符合高手标准不?
  • 难道这没有高手吗?难道这没有乐于助人的高手?(高分酬谢62+50+50)
  • 关于我对linux高手用yum,非高手用源码的理由
  • 高手救命,很急——ORACLE817安装在UNIXWARE711上,手工启动数据库后在netasst中连接错误,高手帮我看看?
  • 请教高手lvs的奇怪问题,我挺着急,希望高手别潜水,就就我,先谢谢了
  • 各个高手看看这个问题!本人第一次学习java所以要各位高手的帮助。。
  • :请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • 请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • 我是新手,高手,高手,快来救我
  • EJB问题,请教高手(非高手莫进)
  • 请各位JAVA高手,网业高手看过来,我把能给的分都送出!!!只能给37分,哎!!
  • eWEEK沙龙征集高手座谈


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3