What is the difference b/w Inner class and anonymous Inner class? Could you please give some scenarios to use these inner classes?
Asked
Active
Viewed 6,741 times
-5
-
An inner class can be instantiated, an anonymous one cannot be and is executed once. – Konstantin Yovkov Sep 10 '13 at 12:07
-
google "anonymous class vs. inner class" – sanbhat Sep 10 '13 at 12:08
1 Answers
1
A local inner class consists of a class declared within a method, whereas an anonymous class is declared when an instance is created. So the anonymous class is created on the fly or during program execution. An anonymous class has no name declared for the class, which differs from the local inner class, which has a class name.
Example:
interface NamedInterface {
public InnerClass() {}
private foo() {}
public baz() {}
public bar() {}
}
class Main {
public Main() {
compareClasses();
}
public void compareClasses() {
// local inner class declaration
class InnerClass {
public InnerClass() {}
private foo() {}
public baz() {}
public bar() {}
}
InnerClass iCInstance = new InnerClass();
// anonymous class declared and instantiated during execution
NamedInterface anonymousClassInstance = new NamedInterface() {
public InnerClass() {}
private foo() {}
public baz() {}
public bar() {}
}
}
}

BrightIntelDusk
- 4,577
- 2
- 25
- 34

change_is_necessity
- 687
- 7
- 24