【发布时间】:2011-08-16 07:17:29
【问题描述】:
想知道如果与 C# 相比,java 的 final 更类似于哪个? const 还是只读?
【问题讨论】:
-
可能更类似于
sealed。 -
@Henk 关于添加到方法和类定义,那么是的。 Java 在这方面有点重载了含义。
想知道如果与 C# 相比,java 的 final 更类似于哪个? const 还是只读?
【问题讨论】:
sealed。
有趣的问题,
Java 的 final 关键字暗示了几件事:
C# 的readonly 关键字应用基本相同的限制。
为了完整性-让我们看看const:
所以——我会说 final 更类似于 readonly。
-- 丹
【讨论】:
readonly,因为就像在 C# 中一样,final 只能设置一次,包括在构造函数中。
【讨论】:
Java 的 final 关键字实现了 C# readonly 和 const 关键字的两种情况。
C# 只读
public Employee
{
private readonly string _name;
public Employee(string name)
{
this._name = name;
}
}
Java 最终版(只读)
public class Employee
{
private final String name;
public Employee(String name) {
this.name=name;
}
}
C# 常量
public class Circle
{
private const float Pi = 3.14F;
}
Java 最终(常量)
public class Circle
{
private final float pi = 3.14F;
}
【讨论】:
Java final (const) 不是真的... consts 在 C# 中默认是 static