Lokale Funktionen in Java

class nest {
  interface Func<A,B> { B apply(A x); }
  public static void main (String [] args) {
    { int a = 5;
      Func<Integer,Integer> b = new Func<Integer,Integer>() {
        public Integer apply(Integer x) { return a*x; }
        };
      { a = 7; System.out.println(b.apply(3)); }
} }
die nicht-lokale Variable a muà als final deklariert werden, dadurch ist die Zuweisung (a = 7) verboten.

2009-11-20