private const string SESSION_KEY = "nhibernate.current_session";
        private static readonly ISessionFactory sessionFactory;
        public static readonly Configuration Cfg;以上是我的.NET声明的常量
那Java中是不是这样写 private final String  SESSION_KEY = "hibernate.current_session";
private final static SessionFactory sessionFactory;
public final static Configuration Cfg;如果不是正确写法是怎样?
谢谢

解决方案 »

  1.   

    第一行是这样写第二、三行,C# 代码应该不是常量,而是一个只读静态变量但是 readonly 在 Java 中没有,Java 中仅公布 get 方法就可以了,不要公布 set 方法,这样也是只读的。
      

  2.   

    RE楼上,那我上面的C#代码后两行要怎么改为Java的写法呢?
      

  3.   

        private SessionFactory sessionFactory;
    提供get方法就行了。
        public Configuration Cfg;
    就这样,不要get。
      

  4.   

    貌似可以近似这样用。注意一下,java中,声明为final,要在声明处为其初始化,C#中,readonly好像不用。
      

  5.   

    RE:注意一下,java中,声明为final,要在声明处为其初始化
    =》这样看来的话,我程序并没有在声明的时候就初始化啊!
    也就是
    private final static SessionFactory sessionFactory;
    public final static Configuration Cfg;
    这样的写法还是有问题?
    但是我这里没有办法初始化啊,因为这两个对像我得在方法中进行初始化谢谢