кто нибудь может разъяснить почему код:
package com.javarush.games.minesweeper;
import com.javarush.engine.cell.*;
public class MinesweeperGame extends Game{
}
}
вызывает запуск игрового поля?
у нас ведь не создается экземпляра класса, стало быть не отрабатывают конструкторы ни класса, ни суперклассов (Game, Application). Да даже, если бы и срабатывали и там и там конструкторы пустые. При таком раскладе должны инициализироваться статические блоки инициализации классов. Насколько я понимаю, единственный вариант для запуска чего-либо при таком коде. Но и этого я не увидел.
Единственное нашел "public static void launch" в классе Application (замена метода main!?).
Буду рад помощи, может, что пропустил, может в корне не верно рассуждаю. Но хочу разобраться как без main таким кодом запускаем некую "подложку" игры?
Aka_ron4uk
28 уровень
Как это работает?)
Решен
Комментарии (8)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
IceBergMaster
24 сентября 2019, 20:15решение
Application.init() - "The application initialization method. This method is called immediately after the Application class is loaded and constructed."
Application.start() - "The main entry point for all JavaFX applications. The start method is called after the init method has returned, and after the system is ready for the application to begin running."
+2
Aka_ron4uk Java Developer
24 сентября 2019, 20:37
Супер! Спасибо!
0
Ksenia Volkova Java Developer в DXC Master
24 сентября 2019, 19:20
Посмотри у Game метод start
+1
Aka_ron4uk Java Developer
24 сентября 2019, 19:24
да, я его видел. Но почему он вызывается?
0
Ksenia Volkova Java Developer в DXC Master
24 сентября 2019, 19:25
Потому что его вызывает движок?
0
Aka_ron4uk Java Developer
24 сентября 2019, 19:37
ну вот я и не понимаю как он это делает. Start является переопределенным методом интерфейса Application. Как я понимаю, что бы вызвать метод, нужен например экземпляр класса с последующим вызовом метода через этот экземпляр. Тут же я ничего из этого не вижу. Сами ведь по себе методы не вызываются).
0
Ksenia Volkova Java Developer в DXC Master
24 сентября 2019, 19:40
Ну так начинку движка мы не видим. А в нем могут создаваться объекты и вызываться методы.
Наша задача - предоставить ему реализации объектов и методов, которые нужны для конкретной игры..
0
Aka_ron4uk Java Developer
24 сентября 2019, 19:44
Так стоп!? То есть класс Game наследующий Application и имплементирующий GameScreen это не есть "движок"?
0