黑马程序员技术交流社区
标题:
final修饰的静态Field的值怎么区分是编译时期还是运行时期
[打印本页]
作者:
杨修
时间:
2013-5-12 10:53
标题:
final修饰的静态Field的值怎么区分是编译时期还是运行时期
本帖最后由 刘胜寒 于 2013-5-18 03:01 编辑
请高手指教
作者:
殇_心。
时间:
2013-5-12 17:48
应该是属于编译时期。
验证:
String a = "你";
String b = "好";
String c = a + b;
String d = "你好";
此时c == d 返回的false
当把a,b定义成final时,c == d 返回的是true。
进行了宏替换。 而宏替换是在编译时期进行的。
作者:
钟林杰
时间:
2013-5-12 20:28
这是运行时确定的。
例如:final static int b=0 ; 你用2/b,编译时不会出现异常问题,运行时才会出现异常。所以可以肯定是运行时才确定值的。
你这个问题我看了几次,开始不知道field是“字段”的意思,所以没回答,后来看英文的API文档才知道是字段的意思。
{:soso_e127:}
作者:
刘胜寒
时间:
2013-5-13 09:02
注意结贴。。。查看你们的帖子真的很耗时时间。。真心希望你们及时结贴。。真的很累。。
谢谢合作
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2