Как да внедрим вътрешния клас в Java?



Вътрешен клас в Java означава един клас, който е член на друг клас. Тази статия ще ви помогне да разгадаете този клас.

Вътрешен клас в Java означава един клас, който е член на друг клас. В , има различни видове вътрешни класове. Тази статия ще ви помогне да разгадаете всички тези класове. Следващите указатели ще бъдат обсъдени подробно,

Така че нека да започнем с тази статия за Inner Class In Java,





Вътрешен клас в Java

Вложен вътрешен клас

Този клас има достъп до всяка частна стойност на екземпляр на външния клас. Писането на един клас в друг клас също е разрешено в Java. Класът, написан вътре, е известен вложен клас, а класът, който съдържа вътрешния клас, е известен като външен клас.



Синтаксис

клас външно място {клас вътрешно място {}}

Пример

В примера, даден по-долу, Ние правим вътрешния клас частен и осъществяваме достъп до класа с помощта на метод.



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 external = new Outer_place () external.display_Inner ()}}

Изход

Изход - Вътрешен клас в Java - Edureka

Тук Външното място е външният клас, а Вътрешното се нарича вътрешен клас.

Продължавайки с тази статия за Inner Class In 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 external = new Outer_place () Outer_place.Inner_place inner = external.new Inner_place () System.out.println (inner.getNum ())}}

Изход

Преместване на,

Метод на местните вътрешни класове

В Java можете да напишете клас в метода и това ще бъде известно като локален тип. Както всички локални променливи, обхватът на вътрешния клас е ограничен в рамките на метод.

Пример

Следващият пример ще покаже как се прилага локален вътрешен клас на метод.

генерира произволен низ в 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 external = new Outerplace () external.my_Method ()}}

Изход

Продължавайки с тази статия за Inner Class In Java,

Анонимен Вътрешен клас

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

Винаги, когато искаме да заменим метода на клас или интерфейс, ние използваме този клас.

Синтаксис

AnonymousInner obj1 = нов AnonymousInner () {public void method () {}}

Пример

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

Изход

Продължавайки с тази статия за Inner Class In Java,

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

В този случай, ако методът приема обекта на интерфейса, абстрактния клас или конкретния клас, тогава ние сме в състояние да реализираме интерфейса, да предадем обекта на метода и да разширим абстрактния клас.

Синтаксис

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

Пример

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

Изход

Продължавайки с тази статия за Inner Class In Java,

Анонимен вътрешен клас на определен подклас

Програмен код

инсталирайте php на Windows 8
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')}} публична статична празнота main (String [] args) {d.show ()}}

Изход

Продължавайки с тази статия за Inner Class In Java,

Анонимен вътрешен клас като изпълнител на посочен Интерфейс

Програмен код

клас Flavor2Demo {// клас, който реализира статичен интерфейс Hello Hello h = new Hello () {public void show () {System.out.println ('присъствах в анонимен клас')}} public static void main (String [] args) {h.show ()}} интерфейс Здравейте {void show ()}

Изход

Продължавайки с тази статия за Inner Class In Java,

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

Тези класове не са технически известни като вътрешни класове. Тези класове са подобни на статичния член на външния клас. Статичният вложен клас няма достъп до променливите и методите на външния клас. Не е необходимо да създаваме екземпляр на външния клас, той може да бъде достъпен директно чрез статичните членове.

Синтаксис

Клас външен {Статичен клас nested_example {}}

Пример

публичен клас Outer {static class 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.

Имате въпрос към нас? Моля, споменете го в раздела за коментари на тази статия и ние ще се свържем с вас възможно най-скоро.