В Dart нет такого понятия, как stati c конструктор. Именованные конструкторы, такие как Shape.circle()
, достигаются чем-то вроде
class A {
A() {
print('default constructor');
}
A.named() {
print('named constructor');
}
}
void main() {
A();
A.named();
}
. Вам также может быть интересен этот вопрос конструкторов фабрики
Обновление: Пара stati c обходных путей инициализатора
class A {
static const List<Type> typesList = [];
A() {
if (typesList.isEmpty) {
// initialization...
}
}
}
Или материал stati c может быть удален из класса, если он не предназначен для доступа пользователей класса.
const List<Type> _typesList = [];
void _initTypes() {}
class A {
A() {
if (_typesList.isEmpty) _initTypes();
}
}