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



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

Внутренний класс в java означает один класс, который является членом другого класса. В , существуют различные типы внутренних классов. Эта статья поможет вам разобраться во всех этих классах. Следующие указатели будут рассмотрены подробно,

Итак, давайте начнем с этой статьи о внутреннем классе в Java,





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

Вложенный внутренний класс

Этот класс имеет доступ к любому значению частного экземпляра внешнего класса. Написание одного класса в другом классе также разрешено в Java. Класс, записанный внутри, известен как вложенный класс, а класс, содержащий внутренний класс, известен как внешний класс.



Синтаксис

class externalplace {class innerplace {}}

пример

В приведенном ниже примере мы делаем внутренний класс закрытым и получаем доступ к классу с помощью метода.



class Outer_place {int num private class Inner_place {public void print () {System.out.println ('Это внутренний класс')}} void display_Inner () {Inner_place inner = new Inner_place () inner.print ()}} открытый класс My_class {public static void main (String args []) {Outer_place outer = new Outer_place () outer.display_Inner ()}}

Вывод

Вывод - внутренний класс в Java - Edureka

Здесь Внешнее место - это внешний класс, а Внутреннее место - это внутренний класс.

Продолжая эту статью о внутреннем классе в Java,

Доступ к частным членам

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

Вот пример,

class Outer_place {private int num = 162 class Inner_place {public int getNum () {System.out.println ('Это метод getnum внутреннего класса:') return num}}} открытый класс My_class {public static void main (String args []) {Outer_place outer = new Outer_place () Outer_place.Inner_place inner = outer.new Inner_place () System.out.println (inner.getNum ())}}

Вывод

Двигаясь дальше,

Метод локальных внутренних классов

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

пример

В следующем примере будет показано, как реализуется локальный внутренний класс метода.

открытый класс Outerplace {void my_Method () {int num = 45 class MethodInner_place {public void print () {System.out.println ('метод для внутренних классов' + num)}} MethodInner_place inner = new MethodInner_place () inner.print ( )} public static void main (String args []) {Outerplace outer = new Outerplace () outer.my_Method ()}}

Вывод

Продолжая эту статью о внутреннем классе в Java,

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

Любой внутренний класс, объявленный без имени класса, называется анонимным внутренним классом. В случае анонимных внутренних классов мы создаем и объявляем его одновременно.

Когда мы хотим переопределить метод класса или интерфейса, мы используем этот класс.

Синтаксис

AnonymousInner obj1 = new AnonymousInner () {общедоступный метод void () {}}

пример

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

Вывод

Продолжая эту статью о внутреннем классе в Java,

Как аргумент анонимного внутреннего класса

При этом, если метод принимает объект интерфейса, абстрактного класса или конкретного класса, то мы можем реализовать интерфейс, передать объект методу и расширить абстрактный класс.

Синтаксис

объект метод (новый класс () {public void do {}})

пример

// interface interface Message {String greet ()} public class My_class {// объект интерфейсного сообщения принимается этим методом public void displayMessage (Message m) {System.out.println (m.greet () + ', пример анонимный внутренний класс как аргумент ')} public static void main (String args []) {// Создание экземпляра класса My_class obj = new My_class () // Передача анонимного внутреннего класса в качестве аргумента obj.displayMessage (new Message () {public String greet () {return 'Привет'}})}}

Вывод

Продолжая эту статью о внутреннем классе в Java,

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

Исходный код

class Demo {void show () {System.out.println ('i was in show method of class')}} class Flavor1Demo {static Demo d = new Demo () {void show () {super.show () System. out.println ('я присутствовал в классе Flavor1Demo')}} public static void main (String [] args) {d.show ()}}

Вывод

контроллер представления модели в Java

Продолжая эту статью о внутреннем классе в Java,

Анонимный внутренний класс как исполнитель указанного Интерфейс

Исходный код

class Flavor2Demo {// класс, реализующий интерфейс Hello static Hello h = new Hello () {public void show () {System.out.println ('я присутствовал в анонимном классе')}} public static void main (String [] args) {h.show ()}} интерфейс Привет {void show ()}

Вывод

Продолжая эту статью о внутреннем классе в Java,

Статические вложенные классы

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

Синтаксис

Внешний класс {Статический класс nested_example {}}

пример

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

Вывод

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

Есть вопрос к нам? Пожалуйста, укажите это в комментариях к этой статье, и мы свяжемся с вами как можно скорее.