Professional Documents
Culture Documents
An Example of A Simple Anonymous Class
An Example of A Simple Anonymous Class
An Example of A Simple Anonymous Class
public class MainClass {
public static void main(String[] args) {
Ball b = new Ball() {
public void hit() {
System.out.println("You hit it!");
}
};
b.hit();
}
interface Ball {
void hit();
}
}
abstract class Base {
public Base(int i) {
System.out.println("Base constructor, i = " + i);
}
public abstract void f();
}
public class MainClass {
public static Base getBase(int i) {
return new Base(i) {
{
System.out.println("Inside instance initializer");
}
public void f() {
System.out.println("In anonymous f()");
}
};
}
public static void main(String[] args) {
Base base = getBase(47);
base.f();
}
}
Base constructor, i = 47
Inside instance initializer
In anonymous f()
public String readLabel() {
return label;
}
};
}
public static void main(String[] args) {
MainClass p = new MainClass();
A d = p.dest("A");
}
}
interface A {
String readLabel();
}
public class MainClass {
public A cont() {
return new A() {
private int i = 11;
public int value() {
return i;
}
}; // Semicolon required in this case
}
public static void main(String[] args) {
MainClass p = new MainClass();
A c = p.cont();
}
}
interface A {
int value();
}
public class MainClass {
public A dest(final String dest) {
return new A() {
private String label = dest;
public String readLabel() {
return label;
}
};
}
public static void main(String[] args) {
MainClass p = new MainClass();
A d = p.dest("A");
}
}
interface A {
String readLabel();
}