|
|
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.