@The_XXI

Почему не получается вызвать static метод из другого класса?

Есть 2 класса. Они находятся в одном пакете.
Класс DBHandler:
package utils;

import java.sql.*;

public class DBHandler {

    static Connection connection;

    public static boolean openConnection() {
        try {
            connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/demotest", "root", "");
            return true;
        } catch (SQLException throwables) {
            throwables.printStackTrace();
            return false;
        }
    }

    public static boolean closeConnection() {
        try {
            connection.close();
            return true;
        } catch (SQLException throwables) {
            throwables.printStackTrace();
            return false;
        }
    }

    public static ResultSet executeQuery (String sql) {
        ResultSet resultSet = null;
        try {
            PreparedStatement preparedStatement = connection.prepareStatement(sql);
            if (sql.contains("SELECT")) {
                resultSet = preparedStatement.executeQuery();
            } else {
                preparedStatement.executeUpdate();
            }
        } catch (SQLException throwables) {
            throwables.printStackTrace();

        }
        return resultSet;

    }
}

Второй класс полностью пустой и в нем я пытаюсь вызвать openConnection:
package utils;

public class ClientTable {
    DBHandler.openConnection();
}

Он выдает ошибку
C:\Users\mk_11\IdeaProjects\AutoService002\src\utils\ClientTable.java:4:29
java: <identifier> expected

В чем проблема?
При вызове openConnection из других классов в других пакетах все работает.
  • Вопрос задан
  • 113 просмотров
Решения вопроса 1
azerphoenix
@azerphoenix Куратор тега Java
Java Software Engineer
package utils;

public class ClientTable {
    DBHandler.openConnection();
}


Ну у вас же должен быть метод, внутри которого вы вызовете метод openConnection().

Например,

package utils;

public class ClientTable {
    
private void call() {
DBHandler.openConnection();
}

}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы