public classConn{
  Connection conn = null;
  Statement stmt = null;
  ResultSet rs = null;
  String classname = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
  ...
  public Conn(){
  ...
}
}就这样一个类 我很久没接触JAVA了 有点想不通的是 成员变量可以直接初始化么?不是应该利用构造函数初始化?
或者直接初始化的 不是应该是静态变量呢?
求解答 不要笑我哦

解决方案 »

  1.   

    比如说Conn conn = new Conn()
    那么
    1、在返回一个指向这个刚刚new出来的对象的引用并赋给conn之前,先执行Conn父类的构造方法
    2、执行instance initializer(您的例子没有)和instance variable initializer(也就是您的例子中给成员变量赋值的那些语句)
    3、执行构造方法剩下的部分
      

  2.   

    在别的文里看到有人总结初始化顺序是:(1)父类的static变量和static初始化块(2)子类的static变量和static初始化块  (3)父类的实例变量、初始化块(4)父类的构造方法(5)子类的实例变量、初始化块(6)子类的构造方法