Для меня это было совершенно ясно, что ответ на этот вопрос НЕТ, но только сегодня я пришел к линииМожно ли вызвать нестатический метод без создания экземпляра?
Context.setCredentials(userId, pwd.toCharArray());
где SetCredentials является не-статический метод. Intellij IDEA подчеркивает это как ошибку, поэтому мой проект не компилировался, однако, в Eclipse все строит отлично, как это может быть?
Это не проблема, чтобы исправить эту проблему, но я хотел бы понять, почему это может произойти. Постскриптум Я мог бы предположить, что это может быть очень специфичным для проекта.
UPDATE
Перед SetCredentials называется есть другой вызов происходит:
Context.initContext()
где-то мы вызываем следующий метод:
synchronized private static void initContext(String connectionString) {
if (_this == null) {
_this = new Context(connectionString);
}
}
где this
определяется как это в тот же класс контекста:
private static Context _this;
Кажется, что это может сработать, и Eclipse показывает это правильно, если наш экземпляр создан, однако он находится внутри класса, действительно странного кода.
Отправьте код для объекта 'Context' –
Нет, это невозможно. Очистите проект Eclipse, возможно, он запутался. – Tunaki
Действительно. Даже создание пользователя String; if (user == "") приведет к ошибке. Переменные должны быть инициированы. – MiKE