gpt4 book ai didi

java - 为什么 abstract 和 strictfp 关键字不能在方法声明中一起使用的原因?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:15:51 28 4
gpt4 key购买 nike

我正在阅读 katherine sierra 的 SCJP。
我明白 abstract 和 final 关键字不能一起使用,因为正如书中所解释的那样,它们相互矛盾。

但是,我不明白为什么strictfp和abstract关键字不能一起使用。
我还不知道 strictfp 关键字在 Java 中究竟是如何工作的。

在我看来,可以声明一个抽象的 strictfp 方法,拥有一个子类,并以“strictfp 方式”实现该方法。

这些关键字不能很好地搭配在一起的原因是什么?
编辑
我仔细检查了这本书,上面肯定写着

Because interface methods are abstract, they cannot be marked final, strictfp , or native .

来自 Katherine Sierra 的 SCJP。第 21 页。

我的 IDE(Eclipse Juno) 也说我不能同时使用 abstract 和 strictfp 关键字。
嗯,为什么不呢?

最佳答案

Katherine Sierra 可能在谈论抽象方法。创建一个抽象方法 strictfp 是没有意义的,因为抽象方法只提供一个方法签名(如果有的话还有 throws 子句),要使用它我们需要在子类中用具体方法覆盖它并且此方法将具有自己的修饰符,这些修饰符将覆盖其父方法的修饰符。也就是说,方法不继承修饰符。

请注意,不仅是 sctriptfp,而且除了 publicprotected 之外,抽象方法上不允许使用任何修饰符。如果你尝试,你会得到一个编译时错误。

关于java - 为什么 abstract 和 strictfp 关键字不能在方法声明中一起使用的原因?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16453119/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com