Java:کلاس‌های داخلی جاوا

از ویکی کد
پرش به ناوبری پرش به جستجو

کلاس‌های داخلی جاوا

در جاوا، ایجاد یک کلاس تو در تو (یک کلاس درون کلاس دیگر) ممکن است. هدف کلاس‌های تو در تو، گروه‌بندی کلاس‌هایی است که به یکدیگر مرتبط‌اند، این کار کد شما را خواناتر و بهتر می‌کند. [۱]

برای دسترسی به کلاس داخلی، یک شیء از کلاس خارجی بسازید، و سپس یک شیء از کلاس داخلی بسازید:

مثال

00000000000000000000000000000000000

کلاس‌های داخلی خصوصی (به انگلیسی: Private)

Unlike a "regular" class, an inner class can be or protected. If you don't want outside objects to access the inner class, declare the class as private:

برخلاف یک کلاس «با قاعده»، یک کلاس داخلی می‌تواند از نوع {{ یا protected باشد. اگر شما نمی‌خواهید که اشیای خارجی به کلاس داخلی دسترسی داشته باشند، کلاس را به صورت خصوصی یا private تعریف کنید:

مثال

00000000000000000000000000000000000

If you try to access a private inner class from an outside class (MyMainClass), an error occurs:

اگر شما سعی کنید به یک کلاس داخلی خصوصی یا private از خارج کلاس (MyMainClass) دسترسی پیدا کنید، خطا رخ می‌دهد:

MyMainClass.java:12: error: OuterClass.InnerClass has private access in OuterClass

OuterClass.InnerClass myInner = myOuter.new InnerClass();

^

کلاس داخلی Static

An inner class can also be static, which means that you can access it without creating an object of the outer class:

یک کلاس داخلی می‌تواند از نوع static نیز باشد، که به معنای آن است که شما می‌توانید بدون ساختن شیء از کلاس خارجی، به کلاس داخلی دسترسی پیدا کنید:

مثال

00000000000000000000000000000000000

Note: just like static attributes and methods, a static inner class does not have access to members of the outer class.

نکته : همانند متدها و خاصیت‌های Static، یک کلاس static به اعضای کلاس خارجی دسترسی ندارد.

دسترسی به کلاس خارجی از کلاس داخلی

One advantage of inner classes, is that they can access attributes and methods of the outer class:

یک مزیت از کلاس‌های داخلی، این است که آنها می‌توانند به خاصیت‌ها و متدهای کلاس خارجی دسترسی پیدا کنند:

مثال

00000000000000000000000000000000000

==منابع آموزشی==