Definition:
Key Points:
Use Cases:
public class OuterClass {
public void myMethod() {
// Anonymous inner class implementing an interface
Runnable r = new Runnable() {
public void run() {
System.out.println("Anonymous Inner Class Running");
}
};
// Running the anonymous inner class implementation
r.run();
}
public static void main(String[] args) {
OuterClass outerObject = new OuterClass();
outerObject.myMethod();
}
}
Anonymous Inner Class Running
xxxxxxxxxx
abstract class A8
{
void m1()
{
System.out.println("m1-A");
}
abstract void m2();
abstract void m3();
}
public class Test8 {
public static void main(String[] args)
{
// dont think that object is created for interface, for interfaces object is not created
// object is created for anonymous inner class
A8 a = new A8() { //polymorphism happened here
public void m2()
{
System.out.println("m2-A");
}
public void m3()
{
System.out.println("m3-A, Hello");
}
}; //end of anonymous inner class
a.m1();
a.m2();
a.m3();
}
}
m1-A
m2-A
m3-A, Hello