Как реализовать вложенный класс в Java?



Эта статья о вложенных классах в java поможет вам понять, как реализовать вложенные классы с помощью примера программы.

В Java класс может быть определен внутри другого класса, и такие классы известны как вложенные классы. Эти классы помогут вам логически сгруппировать классы, которые используются только в одном месте. Это увеличивает использование инкапсуляции и создает более читаемый и поддерживаемый код. В этом блоге «Вложенные классы в Java» вы сможете быстро и по существу познакомиться с вложенными классами в . Ниже приведены темы, затронутые в этом блоге:

Вложенный класс в Java

В класс записанный внутри класса называется вложенным классом, а класс, содержащий внутренний класс, называется внешним классом. Ниже приведены некоторые моменты, которые следует помнить для вложенных классов в Java:





  • Объем вложенного класса ограничен его охватывающим классом.
  • Вложенный класс имеет доступ к членам класса, в который он вложен. Но включающий класс не может получить доступ к членам вложенного класса.
  • Вложенный класс - это включающий его член класса.
  • Вложенный класс может быть объявлен общедоступным, частным, защищенным или частным для пакета.

Типы вложенных классов

Внутренний / нестатический вложенный класс: В Java нестатические классы - это механизм безопасности. Класс не может быть связан с доступ редактировать private, но если у вас есть класс как член другого класса, то нестатический класс можно сделать частным.

Типы внутренних классов и минус



  • Внутренний класс
  • Локальный для метода внутренний класс
  • Анонимный внутренний класс

Внутренний класс

Чтобы создать внутренний класс, вам просто нужно написать класс внутри класса. Внутренний класс может быть частным, к которому нельзя получить доступ из объект вне класса. Ниже представлена ​​программа для создания внутреннего класса. В этом примере внутренний класс делается закрытым, и доступ к нему осуществляется через метод.

class Outer_Test {int num // внутренний класс private class Inner_Test {public void print () {System.out.println ('Это наш внутренний класс')}} // Доступ к внутреннему классу из метода void display_Inner () { Inner_Test inner = new Inner_Test () inner.print ()}} public class My_class {public static void main (String args []) {// Создание экземпляра внешнего класса Outer_Test outer = new Outer_Test () // Доступ к методу display_Inner () . external.display_Inner ()}}

Вывод
Вложенный класс inner- Edureka

Локальный для метода внутренний класс

В Java класс можно записать в и это местный тип. Подобно локальным переменным, область действия внутреннего класса ограничена внутри метода. Локальный для метода внутренний класс включается только в метод, в котором определен внутренний класс. В приведенной ниже программе показано, как использовать внутренний класс, локальный для метода.



как использовать облачную платформу Google
public class Outerclass {// метод экземпляра внешнего класса void my_Method () {int num = 1001 // локальный метод внутреннего класса класса StarInner_Test {public void print () {System.out.println ('Это звездный внутренний класс' + num)}} // конец внутреннего класса // Доступ к внутреннему классу StarInner_Test star = new StarInner_Test () star.print ()} public static void main (String args []) {Outerclass outer = new Outerclass () outer. my_Method ()}}

Вывод

Анонимный внутренний класс

Анонимный внутренний класс - это внутренний класс, объявленный без имени класса. В анонимном внутреннем классе мы объявляем и создаем его экземпляр одновременно. Обычно они используются, когда вам нужно переопределить метод класса или интерфейса. В приведенной ниже программе показано, как использовать анонимный внутренний класс -

абстрактный класс AnonymousInnerTest {public abstract void mytest ()} открытый класс Outer_class {public static void main (String args []) {AnonymousInnerTest inner = new AnonymousInnerTest () {public void mytest () {System.out.println ('Это пример анонимного внутреннего тестового класса ')}} inner.mytest ()}}

Вывод-

Статический вложенный класс: К - это вложенный класс, который является статическим членом внешнего класса. В отличие от внутреннего класса, статический вложенный класс не может получить доступ к переменным-членам внешнего класса, потому что статический вложенный класс не требует экземпляра внешнего класса. Следовательно, в OuterClass.this нет ссылки на внешний класс. Синтаксис статического вложенного класса -

class MyOuter {статический класс Nested_Test {}}

Пример статического вложенного класса

public class Outer {статический класс Nested_Test {public void my_method () {System.out.println ('Это вложенный тестовый класс Edureka')}} public static void main (String args []) {Outer.Nested_Test nested = new Outer. Nested_Test () nested.my_method ()}}

Вывод

Разница между статическими и нестатическими вложенными классами

Статические вложенные классы не имеют прямого доступа к другим членам включающего класса. Будучи статическим, он должен получать доступ к нестатическим членам своего включающего класса через объект, что означает, что он не может напрямую ссылаться на нестатические члены своего включающего класса. И из-за этого ограничения статические вложенные классы используются редко.

Нестатические вложенные классы имеют доступ ко всем членам своего внешнего класса и могут ссылаться на них напрямую так же, как и другие нестатические члены внешнего класса.

Прежде чем мы подойдем к концу этой статьи, давайте рассмотрим несколько ключевых моментов.

Ключевые моменты, которые следует помнить

  • Внутренний класс рассматривается как обычный член класса.
  • Поскольку внутренний класс является членами внешнего класса, вы можете применять различные модификаторы доступа, такие как protected, private, к вашему внутреннему классу.
  • Поскольку вложенный класс является членом включающего его класса, вы можете использовать. (точка) обозначение для доступа к вложенному классу и его членам.
  • Использование вложенного класса делает ваш код более читаемым и обеспечивает лучшее инкапсуляция .
  • Внутренний класс имеет доступ к другим членам внешнего класса, даже если они объявлены закрытыми.

На этом мы подошли к концу этого блога о вложенных классах в Java. Если вы хотите узнать больше о Java, ознакомьтесь с от Edureka, надежной компании онлайн-обучения с сетью из более чем 250 000 довольных учащихся по всему миру. Курс обучения и сертификации по Java J2EE и SOA от Edureka предназначен для студентов и профессионалов, которые хотят стать Java-разработчиками. Курс разработан, чтобы дать вам хорошее начало в программировании на Java и обучить вас как основным, так и продвинутым концепциям Java, а также различным средам Java, таким как Hibernate и Spring.

Есть вопрос к нам? Пожалуйста, укажите это в разделе комментариев этого блога «Вложенный класс в Java», и мы свяжемся с вами как можно скорее.