Esempio 3

package lezione_3;

public class Esterna {

    private int x=3;
    
    private void stampa() {
        System.out.println(x);
    }

    public class Interna {  //può essere public, private, o di pacchetto
        public void incStampa() {
            x++;    
            stampa();
        }
    }

    public void f() {
        class Locale {      // senza modificatore!
            private void stampaDoppio() {
                System.out.println(2*x);
            }
        }

        new Locale().stampaDoppio();

        new Object() {      // classe anonima
            public void stampaAnonimo() {
                System.out.println(3*x);
            }
        }.stampaAnonimo();            
    }
        
    public static class InternaStatica {
        public static void stampaStatica(Esterna e) {
            e.stampa();
        }
    }
    
    public static void main(String[] args) {

        Esterna a = new Esterna();    
        Esterna.Interna b = a.new Interna();
        
        b.incStampa();
        a.f();
        
        Esterna.InternaStatica.stampaStatica(a);
    }
}

Last modified: Wednesday, 31 October 2012, 10:10 AM