Prestashop несколько магазинов с локатором магазина и различными онлайн-реквизитами для каждого магазина

Почему возникает ошибка при создании static Label, но не static Rectangle?

По сути, это вопрос порядка инициализации. Платформа UI должна быть правильно инициализирована при создании объектов Node. Потенциально это также может случиться с Rectangle, но, скорее всего, Label (который является Control) полагается даже на правильно инициализированную платформу. В этом конкретном случае разница в том, что объекты Shape не требуют CSS, а объекты Control -. Это приводит к тому, что методы платформы вызывается как показано в трассировке стека в тот момент, когда инструментарий еще не инициализирован.

  • Элемент класса static инициализируется при загрузке class mvce , Это делается до вызова метода main() и, следовательно, до вызова метода launch(). Платформа еще не инициализирована на данный момент.
  • Нестатический член, с другой стороны, инициализируется при создании экземпляра class mvce. class mvce создается внутри метода launch() после правильной инициализации инструментария.

Кроме того, обычно нет причин использовать статические ссылки. Просто используйте член.

0
задан George Zichnalis 18 January 2019 в 16:16
поделиться