Ключевое слово static
Ключевое слово static используется в классах
для объявления полей, методов и геттеров,
которые принадлежат самому классу, а не его
экземплярам. К таким членам класса можно
обращаться напрямую через имя класса, без
создания объекта. Статические члены не имеют
доступа к нестатическим полям и методам
класса, так как не привязаны к конкретному
экземпляру.
Синтаксис
class ClassName
{
static type fieldName = value;
static returnType methodName()
{
// тело метода
}
}
Пример
Давайте объявим класс Counter со
статическим полем count и статическим
методом increment, который увеличивает
это поле на единицу:
class Counter
{
static int count = 0;
static void increment()
{
count++;
}
}
void main()
{
Counter.increment();
Counter.increment();
print(Counter.count);
}
Результат выполнения кода:
2
Пример
Давайте объявим статический геттер info,
который возвращает строку с описанием класса:
class MathHelper
{
static String get info => 'Math helper class';
}
void main()
{
print(MathHelper.info);
}
Результат выполнения кода:
"Math helper class"
Пример
Давайте создадим класс Circle со
статическим полем pi и статическим
методом area, который вычисляет
площадь круга по радиусу:
class Circle
{
static double pi = 3.14;
static double area(double radius)
{
return pi * radius * radius;
}
}
void main()
{
double res = Circle.area(5);
print(res);
}
Результат выполнения кода:
78.5