Я новичок в Java и думаю, что в основном понял использование ключевого слова «static».
Есть одна вещь, которую я пока не понимаю:
Основной метод является статическим и поэтому может вызывать только другие статические методы. Статические методы могут использовать только статические переменные. Почему вы все еще можете создавать переменные экземпляра в основном классе?
Каков вариант использования? Мне потребовалось слишком много времени, чтобы понять, следует ли мне использовать static в основном классе.
Вот два, вероятно, связанных между собой вопроса:
Создает ли JRE экземпляр Main при запуске или просто вызвать static main()?
Если он создает экземпляр Main, статические переменные все еще являются общими?
Я надеюсь, что все имеет смысл и в некоторой степени правильно.
//No error, but why
//You can't even use it?
private SearchSystem cool;
//All static
private static SearchSystem fileSearchSystem;
public static void main(String[] args) {
readData();
fileSearchSystem = new SearchSystem();
this.cool = new SearchSystem(); //Error because main is static
}
private static void readData() {
}
Подробнее здесь: https://stackoverflow.com/questions/790 ... main-class