小弟写程序是遇到个这个问题,一下是其中的一段,高手们帮忙看看,,import java.sql.Connection;import db.ConnectDb;
public class HelloDb{

public Connection con;
ConnectDb cdb = new ConnectDb();
con=cdb.getConn();
}以上程序在         ConnectDb cdb = new ConnectDb();
         con=cdb.getConn();
这两行有错误,
为什么像一下这么写就 没有错误 ,是为什么????
import java.sql.Connection;import db.ConnectDb;
public class HelloDb{

ConnectDb cdb = new ConnectDb();
Connection  con=cdb.getConn();
}
请大家帮忙分析一下啊

解决方案 »

  1.   

    public Connection con; 
    ConnectDb cdb = new ConnectDb(); 
    con=cdb.getConn(); 
    前2句是定义,
    第三句是赋值语句,不能直接和定义语句写在一起,要写在方法体内
      

  2.   

    楼主难道现在还不知道
    import java.sql.Connection; import db.ConnectDb; 
    public class HelloDb{ public Connection con; 
    ConnectDb cdb = new ConnectDb(); 
    con=cdb.getConn(); 
    }  
    con=cdb.getConn(); 
    这种调用其他方法来实现的JAVA代码,
    要写在方法体内么?
    import db.ConnectDb; 
    public class HelloDb{ ConnectDb cdb = new ConnectDb(); 
    Connection  con=cdb.getConn(); 
    } 是使用的赋初始值的功能,进行对象实例化,所以没有出错!
      

  3.   

    呵呵
    java类里只有域和方法
    con=cdb.getConn();//这个应该放在方法里
    Connection  con=cdb.getConn(); //相当于域定义时的初始化,是可以的
      

  4.   

    前面的几位都说的很好,我在此再给楼主一点建议:估计楼主也是从c,c++一路学过来的,而java是纯粹的面向对象的语言,在学习java时千万不能把面向过程的思想带到java世界里,就如楼主所犯的错误一样,java类里只有域和方法。