Статический вложенный класс
Статический вложенный класс - это класс, объявленный внутри
другого класса с ключевым словом static. В отличие
от внутреннего класса, статический вложенный класс
не привязан к экземпляру внешнего класса и может
создаваться независимо. Такой класс имеет доступ только
к статическим членам внешнего класса. В первом параметре
при объявлении указывается модификатор доступа, во втором -
ключевое слово static, далее следует имя класса.
Синтаксис
class OuterClass
{
static class StaticNestedClass
{
// тело класса
}
}
Пример
Давайте создадим статический вложенный класс и обратимся к его полю через экземпляр:
public class Main
{
static class Nested
{
String name = "abcde";
}
public static void main(String[] args)
{
Nested nested = new Nested();
System.out.println(nested.name);
}
}
Результат выполнения кода:
"abcde"
Пример
Давайте создадим статический вложенный класс с собственным статическим методом и вызовем его:
public class Main
{
static class Nested
{
static int getValue()
{
return 12345;
}
}
public static void main(String[] args)
{
System.out.println(Nested.getValue());
}
}
Результат выполнения кода:
12345
Пример
Давайте обратимся из статического вложенного класса к статическому полю внешнего класса:
public class Main
{
static String outer = "abcde";
static class Nested
{
void show()
{
System.out.println(outer);
}
}
public static void main(String[] args)
{
Nested nested = new Nested();
nested.show();
}
}
Результат выполнения кода:
"abcde"
Смотрите также
-
класс
inner-class,
который является внутренним классом -
класс
local-class,
который объявляется внутри метода -
класс
anonymous,
который не имеет имени -
ключевое слово
static,
которое делает член класса статическим