与 C# 相比,Java 的 final 类似于 const 或 readonly [重复]
Posted
技术标签:
【中文标题】与 C# 相比,Java 的 final 类似于 const 或 readonly [重复]【英文标题】:Compared to C#, Java's final is similar to const or readonly [duplicate] 【发布时间】:2011-08-16 07:17:29 【问题描述】:想知道如果与 C# 相比,java 的 final 更类似于哪个? const 还是只读?
【问题讨论】:
可能更类似于sealed
。
@Henk 关于添加到方法和类定义,那么是的。 Java 在这方面有点重载了含义。
【参考方案1】:
有趣的问题,
Java 的 final
关键字暗示了几件事:
C# 的readonly
关键字应用基本相同的限制。
为了完整性-让我们看看const
:
所以——我会说 final 更类似于 readonly。
-- 丹
【讨论】:
【参考方案2】:readonly
,因为就像在 C# 中一样,final
只能设置一次,包括在构造函数中。
【讨论】:
【参考方案3】: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)
不是真的... const
s 在 C# 中默认是 static
以上是关于与 C# 相比,Java 的 final 类似于 const 或 readonly [重复]的主要内容,如果未能解决你的问题,请参考以下文章