|
|
Başka bir class'ın içerisinde tanımlanan class
Bir class'ın içinde başka bir class şöyle tanımlanabilir :
public class Outer { privat int i=0; public class Inner{ private a=5; } }
Kullanırken de . operator'üyle erişilirler
Outer o=new Outer() Inner i=o. new Inner();
Inner class'lar içinde bulundukları class'ların private verisine de erişebilirler. Anonymous inner class'lar yazmak da mümkündür :
ActionListener al=new ActionListener(){ public void actionPerformed(ActionEvent e){ // Bir şey yap } }; button.addActionListener(al);
Burada ActionListener interface'ini implement etmiş bir inner class gizli olarak yaratılır. MyClassName$1 (veya MyClassName$2) gibi bir adla bir .class dosyası yaratılır ve oradan kullanılır.