日期:2014-05-19  浏览次数:20603 次

|javamy|.NET的const readonly在java中是不是以final代替,有示例代码 谢谢
C# code

        private const string SESSION_KEY = "nhibernate.current_session";
        private static readonly ISessionFactory sessionFactory;
        public static readonly Configuration Cfg;


以上是我的.NET声明的常量
那Java中是不是这样写
Java code

    private final String  SESSION_KEY = "hibernate.current_session";
    private final static SessionFactory sessionFactory;
    public final static Configuration Cfg;


如果不是正确写法是怎样?
谢谢

------解决方案--------------------
第一行是这样写

第二、三行,C# 代码应该不是常量,而是一个只读静态变量

但是 readonly 在 Java 中没有,Java 中仅公布 get 方法就可以了,不要公布 set 方法,这样也是只读的。
------解决方案--------------------
private SessionFactory sessionFactory;
提供get方法就行了。
public Configuration Cfg;
就这样,不要get。
------解决方案--------------------
貌似可以近似这样用。

注意一下,java中,声明为final,要在声明处为其初始化,C#中,readonly好像不用。