\begin{slide}{Lokale Funktionen in Java}
\begin{small}
\begin{verbatim}
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)); }
} }
\end{verbatim}
\end{small}
die nicht-lokale Variable $a$ muÃ als final deklariert werden,
dadurch ist die Zuweisung ($a=7$) verboten.
\end{slide}
