Как да внедря вложен клас в Java?



Тази статия за вложен клас в Java ще ви помогне да разберете как да внедрите вложени класове с помощта на примерна програма.

В Java клас може да бъде дефиниран в друг клас и такива класове са известни като вложени класове. Тези класове ви помагат да логично групирате класове, които се използват само на едно място. Това увеличава използването на капсулиране и създава по-четим и поддържаем код. Този блог на тема „Вложен клас в Java“ ще ви даде кратко запознаване с вложените класове в . По-долу са разгледани темите в този блог:

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

The клас написан в клас се нарича вложен клас, докато класът, който съдържа вътрешния клас, се нарича външен клас. По-долу са някои точки, които трябва да запомните за вложени класове в 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 ()}} публичен клас My_class {public static void main (String args []) {// Инстанциране на външния клас Outer_Test external = new Outer_Test () // Достъп до метода display_Inner () . external.display_Inner ()}}

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

Метод-локален Вътрешен клас

В Java клас може да се напише в рамките на и е местен тип. Подобно на локалните променливи, обхватът на вътрешен клас е ограничен в метода. Локален вътрешен клас на метод е включен само в метода, където е дефиниран вътрешният клас. Програмата по-долу показва как да използвате локален вътрешен клас на метод.



публичен клас 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 external = new Outerclass () external. my_Method ()}}

Изход

c ++ масиви за сортиране

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

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

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

Изход -

Статичен вложен клас: ДА СЕ е вложен клас, който е статичен член на външния клас. За разлика от вътрешния клас, статичният вложен клас не може да осъществи достъп до променливи-членове на външния клас, тъй като статичният вложен клас не изисква екземпляр на външния клас. Следователно няма препратка към външния клас с OuterClass.this. Синтаксисът на статичен вложен клас е -

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

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

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

Изход

Основи на SQL сървъра за начинаещи

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

Статичните вложени класове нямат достъп до други членове на затварящия клас директно. Като статичен, той трябва да има достъп до нестатичните членове на своя затварящ клас чрез обект, което означава, че не може директно да се позовава на нестатичните членове на своя затварящ клас. И поради това ограничение рядко се използват статични вложени класове.

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

Преди да стигнем до края на тази статия, нека разгледаме няколко ключови момента.

Основни моменти, които трябва да запомните

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

С това стигнахме до края на този блог за вложени класове в Java. Ако искате да научите повече за Java, разгледайте от Edureka, доверена компания за онлайн обучение с мрежа от над 250 000 доволни учащи, разпространени по целия свят. Курсът за обучение и сертифициране на Java J2EE и SOA на Edureka е предназначен за студенти и професионалисти, които искат да бъдат Java Developer. Курсът е предназначен да ви даде начален старт в програмирането на Java и да ви обучи както за основни, така и за разширени Java концепции, заедно с различни Java рамки като Hibernate & Spring.

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