Введение в Java
Чтобы смотреть видео нужно иметь активную платную подписку и вступить в курс. Войти или зарегистрироваться.

Перед просмотром лекции желательно освежить в памяти знания про методы: что такое методы, как их создавать и как их вызывать.

Методы бывают двух уровней - уровня инстанс (не static) и уровня класса (static) .   Метод уровня инстанс - дефолтный метод без ключевого слова static, если же слово static присутствует - метод уровня класса.

class Game {
	int levels = 3;

	public void printGameName() {
		System.out.println("Star Wars!");
	}
		
	public void printLevelCount() {
		System.out.println("Levels count %d", this.levels);
	}
}
  • Первый метод printGameName() -  выводит на экран название игры.
  • Второй метод printLevelCount() - выводит на экран количество уровней.

Джава создаст фрейм метода - как минимум там будет находится ссылка this , которая указывать на конкретный инстанс класса.

Чтобы вызывать методы нужен конкретный инстанс. Сначала создаем инстанс класса, и после этого только вызываем.

class Main {

	public static void main(String... args) {
		Game game = new Game();
		game.printGameName();
		game.printLevelCount();
	}

}	

Нужен ли this во всех этих методах? (Указатель на текущий инстанс в оперативной памяти).

В методе printGameName() не нужен // метод не использует данные инстанс

В методе printLevelCoun()t нужен // метод использует состояние объекта, нужно пользоваться данными из оперативной памяти

Нужно внести изменения в метод printGameName () // добавить слово static - явно сказать, что метод класс уровня:

public static void printGameName() {
	System.out.println("Star Wars!");
}

При создании фрейма для класс уровня метода в фрейме не будет ссылки this. Такие методы не имеют доступа к полям инстанса. Для вызова такого метода не нужен инстанс, так как он не использует поля инстанса. Вызвать такой метод можно из под имени класса.

class Main {
public static void main(String... args) {
	Game game = new Game();
	Game.printGameName();
	game.printLevelCount();
	}
}

Дальше создание классов на реальном проекте "Крестики-нолики".

Полезные ссылки:

Группы для общения: