strictfp修饰符的效果是使接口声明中的所有float或double表达式都显式地FP-strict(§15.4)。
这意味着在接口中声明的所有嵌套类型都是隐式strictfp的。
strictfp修饰符的效果是使接口声明中的所有float或double表达式都显式地FP-strict(§15.4)。
这意味着在接口中声明的所有方法和所有嵌套类型都是隐式strictfp的。
从这两段文字中并没有说明使用strictfp修饰符声明的接口/类在实现/扩展时的行为。
在搜索后,我找到了一个关于使用strictfp
关键字的好解释使用strictfp修饰符以实现跨平台浮点计算一致性,它指出:
并且它补充说: 我测试了使用严格行为不会被扩展FP-strict超类的子类继承。覆盖方法可以独立选择在被覆盖的方法不是FP-strict时成为FP-strict,反之亦然。
strictfp
关键字声明的类进行扩展时的行为,结果是正确的: strictfp
行为不会被扩展该类的类继承,但问题在于当实现使用strictfp
关键字声明的接口时,情况并非如此: strictfp
行为不会被实现该接口的类继承。
有没有人能够解释一下在实现/扩展一个使用 strictfp
修饰符声明的接口/类时,strictfp
的正确行为是什么?
.java
源文件,并且其影响仅限于一个或多个产品的.class
文件中。 - Teemu Ilmonenstrictfp
与接口、方法、构造函数和类的多种情况,并借助javap -c
命令调查了生成代码的内容,以查看strictfp
的行为是否被实现和扩展类继承。 - Naruto Biju Modestrictfp
关键字声明的接口的类中找不到strictfp
。 - Naruto Biju Mode