Java’da statik olmayan dahili sınıf nesnesinden kapsayan sınıfın nesnesine doğrudan erişim
Başlığa bak çay demle. İngilizcesini yazsam daha mı anlaşılır olur dedim bir an (???). Biliyodum ben bunu lazım oldu bi baktım unutmuşum. Sonra baktım hafızaya, denedim birkaç şey, çat buldum. Sonra buraya da yazayım dedim.
Java’da statik bir dahili sınıf kendisini kapsayan sınıfın herhangi bir üyesine erişim yapamazken, statik olmayan bir dahili sınıf kendisini kapsayan sınıfın public, protected, private, package-private tüm üyelerine doğrudan erişebiliyor. Bu gayet esnek ve bir çok açıdan güzel bir özellik. Kodu da şöyle oluyor hatta:
class A { private int outerMember; public class C { public void innerMethod() { A.this.outerMember = 5; } } }
Gördüğünüz gibi dahili sınıfın içinden kendisini kapsayan nesneye A.this diyerek doğrudan ulaştık. Niye lazım olsun ki bu dahili sınıflar ne saçma bir şey bu diyorsanız dahili sınıfların mantığı üzerine kısa bir yazı yazmak niyetindeyim beni takip edin anacım.


