Не могли пояснить, почему scanner в другом классе находится?
Потому, что Gamer не должен зависеть от источника входящих данных. Сегодня у вас ввод с консоли, завтра из файла, а потом из внешнего сервиса... Почитайте о SOLID.
Правильно ли будет утверждать, что при создании экземляра класса Gamer в другом классе, мы обращаемся к конструктору,созданному в Gamer, и уже потом присваиваем Scanner значение?
Scanner-у не надо ничего присваивать .
Можно сначала получить объект, а потом присвоить какие-то значения его полям.
Можно получить объект с помощью какого-либо из его конструкторов, который принимает нужные данные и сразу, при создании объекта, присваивает их нужным полям.
opopsel_86x64, потому что ваш браузер это делает за вас (для 80 - http и 443 - https)
Вы можете прямо сейчас вбить qna.habr.com:443 (или 80) и увидете, как :443 (или :80) волшебным образом пропадет.
http:// вначале любого запроса означает протокол http - для него зарезервирован порт 80
С https - аналогично, 443
opopsel_86x64, потому что пользователь хочет видеть ваш сервис на 80 (443) порту.
Это ответственность http сервера и http сервер умеет перенаправлять запросы от пользователя вашим приложениям. Не стоит забывать, что ангуляр будет выполняться на стороне пользователя и запросы с фронтенда = запросы от пользователя.
От фронтенда будут примерно такие запросы: site.org/api/req
а ваше приложение будет крутиться, напаример на loclahost:8091/service/api/endpoint
Порт 8091 наружу не должен быть выставлен. И вот чтобы перенаправить запросы на ваш сервис и чтобы скрыть подробности архитектуры нужен http сервер. По дороге он решит вопрос с cross-origin