isLeaf
和isReadOnly
之间的区别是什么?
根据https://stackoverflow.com/a/16253663/2656889和https://stackoverflow.com/a/18095538/2656889,isLeft
表示无法重新定义元素,isReadOnly
表示只能读取该元素。
我正在使用Java。如果我想建模一个final
属性这两个不一样吗?建模private static final int PI = 3.14
会产生一个(假设带下划线):
- PI : int = 3.14 {readOnly}
- PI : int = 3.14 {leaf}
在第一种情况下,PI无法写入,因此被视为最终。 在第二种情况下,PI是一个叶子,不能重新定义,所以它也是最终的?
答案 0 :(得分:4)
isLeaf
表示您无法通过继承重新定义元素isReadOnly
表示您无法更改该值。因此isLeaf
是对设计的约束,而isReadOnly
是运行时约束。我认为Java中没有真正的直接等价于isLeaf
属性。但是在课程isLeaf
上相当于final
。