Пример:
public class GuessGame{
Player p1;
public void startGame(){
p1 = new Player();
}
}
Для чего так делать я не понимаю.Почему не сделать вот так:
public class GuessGame{
Player p1 = new Player();
public void startGame(){
}
}
Руслан
16 уровень
Обьясните ПЖЛСТ! почему так пишут и для чего.
Комментарии (9)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Руслан System Administrator в court Expert
3 марта 2020, 08:39
Спасибо теперь понимаю. Думаю да это экономия памяти. Спасибо еще раз.
0
Стас Пасинков Software Developer в Zipy Master
2 марта 2020, 22:24
экономия памяти. объект игрока создастся не при создании объекта игры, а только когда будет вызван метод startGame()
+4
Стас Пасинков Software Developer в Zipy Master
2 марта 2020, 22:24
но вообще, наверное, дело привычки
0
Dudchenko Andrei
3 марта 2020, 10:04
Новый объект будет создаваться КАЖДЫЙ раз при старте игры.
Во втором варианте ВСЕГДА будет использоваться один и тот же Player.
С точки зрения памяти 2-й вариант лучше, так как сборщик мусора запустится позже.
В любом случае, так никто не пишет по ряду причин.
+1
VladimirMaster
3 марта 2020, 13:36
Андрей, не при старте игры, а при вызове метода startGame()
+1
Sergey Pel
2 марта 2020, 15:12
По идее в р1 можно не только ссылку на new Player передать, но и любую другую типа Player. Возможно будет присвоить на уже существующий объект типа Player
0
Руслан System Administrator в court Expert
3 марта 2020, 08:39
я мало понял что ты имеешь ввиду!
0
Sergey Pel
3 марта 2020, 08:53
ну да не понятно написал. И не правильно судя по всему 😒
0
Руслан System Administrator в court Expert
3 марта 2020, 08:56
не страшно, зато теперь будем знать точно :)
+1