| 查看: 1223 | 回复: 8 | |||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | |||
studyhae木虫 (正式写手)
|
[交流]
【求助】final 属性已有7人参与
|
||
|
定义类: class aClass{ public final double x; public final double y; public double getXY(){ return x*y; } } 由于属性x,y为final,必须在new类的时候初始化x,y。我的问题是,java编译器在优化的过程中,会将x*y先计算出来吗?就是说getXY()方法,是不是直接返回一个值,而没有进行乘法计算? |
» 猜你喜欢
三甲基碘化亚砜的氧化反应
已经有4人回复
请问下大家为什么这个铃木偶联几乎不反应呢
已经有5人回复
请问有评职称,把科研教学业绩算分排序的高校吗
已经有5人回复
孩子确诊有中度注意力缺陷
已经有12人回复
2025冷门绝学什么时候出结果
已经有3人回复
天津工业大学郑柳春团队欢迎化学化工、高分子化学或有机合成方向的博士生和硕士生加入
已经有4人回复
康复大学泰山学者周祺惠团队招收博士研究生
已经有6人回复
AI论文写作工具:是科研加速器还是学术作弊器?
已经有3人回复
论文投稿,期刊推荐
已经有4人回复
硕士和导师闹得不愉快
已经有13人回复
» 本主题相关价值贴推荐,对您同样有帮助:
【小白必看】JAVA快速入门—《Java学习路线图:Java必须知道的300个问题》
已经有273人回复
官方正版,如假包换:金山词霸2012.06.19.012 Final 正式版(无广告清爽版)
已经有56人回复
急切询问:寒假语言培训我是参加英语培训班,还是法语?
已经有10人回复
急救:U盘中毒,文件夹变得很大 (BB不是问题,解决问题可再加!)
已经有12人回复

3楼2010-11-18 23:03:44

2楼2010-11-18 22:54:57

4楼2010-12-13 23:26:21
Thornfighter
木虫 (著名写手)
- 应助: 0 (幼儿园)
- 金币: 3232.9
- 散金: 10
- 红花: 3
- 帖子: 1622
- 在线: 116.1小时
- 虫号: 1140205
- 注册: 2010-11-06
- 性别: GG
- 专业: 计算机软件
★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
微尘、梦想(金币+2): 谢谢回复…… 2011-04-06 15:18:21
小木虫(金币+0.5):给个红包,谢谢回帖交流
微尘、梦想(金币+2): 谢谢回复…… 2011-04-06 15:18:21
|
class aClass{ public final double x; public final double y; public double getXY(){ return x*y; } } 由于属性x,y为final,必须在new类的时候初始化x,y。我的问题是,java编译器在优化的过程中,会将x*y先计算出来吗?就是说getXY()方法,是不是直接返回一个值,而没有进行乘法计算? 一、类成员变量用final修饰需要在声明的时候就赋值,否则将不能通过编译直接报错。可以这样理解,因为在创建对象的时候,如果没有使用构造方法或静态初始化器为成员变量赋值,那么成员变量将被赋默认值(对int类型来说是0),而又由于有final修饰,所以一旦赋值后就不能修改,那这种成员变量将失去使用价值。 二、x*y不会先计算出来,这个你可以在getXY()方法中嵌入一个变量调试一下就知道了! class aClass{ public final double x=10;//使用final修饰成员变量的时候必须赋值 public final double y=100; double test; public double getXY(){ test=x*y;//嵌入test return x*y; } public double getTest() { return test; } } public class Test1 { public static void main(String[] args) { aClass a=new aClass(); System.out.println("before getXY() run,test="+a.getTest()); a.getXY(); System.out.println("after getXY() run, test="+a.getTest()); } } |

5楼2011-04-05 18:18:18














回复此楼