Ne kleine Frage zu anonymen Klassen:
das java Tutorial von Oracle sagt folgendes zu anonymen Klassen:
=============
Outer.java
=============
============
Main.java
============
Wieso sagt dann die doc von oracle folgendes:
Danke im voraus
das java Tutorial von Oracle sagt folgendes zu anonymen Klassen:
So möchte man annehmen dass anonyme Klassen auch immer anonyme lokale Klassen sind. Nichtsdestotrotz ist folgendes möglich:. You can declare an inner class within the body of a method. Such a class is known as a local inner class. You can also declare an inner class within the body of a method without naming it. These classes are known as anonymous inner classes.
=============
Outer.java
=============
Java:
public class Outer {
// Mietgliedsinterface
interface X {
public String s = "string defined in X";
public void print();
}
// anonyme nicht-lokale Klasse
X x = new X() {
@Override
public void print() {
System.out.println(s);
}
};
public Outer() {
}
public void printInner() {
x.print();
}
}
============
Main.java
============
Java:
public class Main {
public static void main(String[] args) {
Outer outer = new Outer();
outer.printInner();
}
}
You can also declare an inner class within the body of a method without naming it. These classes are known as anonymous inner classes.
Danke im voraus