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

标签 java rust keyword

对于方法、属性等,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/

相关文章:

Swift - 根据函数参数分配局部变量

c# - 如何从 Java 调用 C# Web 服务

java - 如何从java命令行linux运行 "npm run android"

rust - 将 i32 值与字符常量匹配

rust - 从“index not backed by a repository”提交的索引树写入时,libgit2出现'pull'错误

python - 如何使用关键字在 nvidia-smi 中使用 PID 杀死 GPU 上的进程?

java - 纬度和经度始终为零

Java正则表达式查找PDF文件

rust - 剪贴板的Rust Crossclip打印类型

ruby - 如何处理 Ruby 中恰好是关键字的关键字参数?