Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Использование метода вне класса - помогите!!!


Автор: Cross 1.9.2009, 15:38
Здравствуйте!
Помогите начинающему ))) 

Есть класс testSM: 

Код

public class testSM {
    
    private static testSM instance;
    Connection con;    
    
    static Jdbc3PoolingDataSource ds = new Jdbc3PoolingDataSource();
    
    private static final JdbcTemplate jt = new JdbcTemplate(ds);
    
    public Connection getConnection() throws SQLException {
        if (con==null||con.isClosed())
            con = ds.getConnection();
        return con;
    }
    
    public static testSM getInstance() throws SQLException {
        if (instance == null) {
            instance = new testSM();
        }
        return instance;
    }
                
                public static String path(int id) throws SQLException {
        Connection con = ds.getConnection();
        PreparedStatement p_stmt = 
            con.prepareStatement("select path(?)");
        p_stmt.setInt(1, id);
        ResultSet rset = p_stmt.executeQuery();
        rset.next();
        System.out.println(rset.getString(1).trim());
        con.close();
        return rset.getString(1);
    }
    


И есть классв том же пакете PathAction, в котором мне нужно использовать 
процедуру path(id) класса testSM.

Код

public class PathAction  {

    public String mytest(Integer id) throws SQLException {
        
        return testSM.path(id).toString();
    
    }
}


Вызываю данную процедуру в main():

Код

public class testConnection {
    
    public static void main(String[] args) throws Exception {
        testSM connection = testSM.getInstance();
        PathAction pa = null;
        pa.mytest(113);
                }
}


Получаю NullPointerExpertion... что тут неправильно???

Автор: LSD 1.9.2009, 15:58
Код

PathAction pa = new PathAction();


А вообще это самые основы, почитай какие нибудь книги для начинающих. Например того же Эккеля.

Автор: Cross 1.9.2009, 16:04
Спасибо большое за помощь!!!

Извините за глупый вопрос )))

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)