gpt4 book ai didi

java - Java 在 Rust 中的 final 是什么?

转载 作者:行者123 更新时间:2023-11-29 08:34:16 25 4
gpt4 key购买 nike

对于方法、属性等,Java 的 final 的 Rust 等价物是什么...

最佳答案

    方法的
  • final 没有意义,因为 Rust 没有实现继承。
  • 属性的
  • final 不存在,因为它与继承的可变性 没有很好地结合。在大多数情况下,属性 a.x 是可变的,当且仅当它们的所有者 a 是可变的。虽然可以选择更多的可变性(这被称为固有可变性),但相反的情况(一个字段在其他可变值中是不可变的)被认为太麻烦而不值得。这部分是因为 Rust 没有默认引用语义,所以即使您不能覆盖单个字段,您也可以始终完全覆盖“对象”。
  • 局部变量的
  • final 类似于 Rust 中的默认行为(默认情况下,变量是深度不可变的)。存在差异,主要是引用类型的 final 局部变量仅防止更改 引用 而不是 引用的对象 — Rust 继承了可变性,见上文。

关于java - Java 在 Rust 中的 final 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37968199/

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