在这种情况下对Java Java算术运算的工作方式感到困惑

时间:2018-07-22 14:29:50

标签: java

我知道在java算术运算期间,诸如byte,short和char值之类的数据类型会自动扩展为int,我理解为什么以下示例无法编译

byte a = 10 ;
byte b = 20 ;          // compile fails
short sum = a + b ;

但是,如果我们修改了前面的示例并定义了变量 a b 作为最终变量,然后编译成功,我就无法理解:

final byte a = 10 ;
final byte b = 20 ;  // compile successful
short sum = a + b ;

我在这里不明白的是键 final 如何确保编译器执行求和?

0 个答案:

没有答案