What is the use of anonymous inner classes ?

Answer Posted / ram

You need object of class 'X', but you want some custom
behavior for the object, not following the behavior defined
by the class 'X'.
Solution 1: create subclass 'Y' extending 'X'. Override
required methods(for custom behavior). create instance of Y
in your code and use it.
Solution 2: But you can achieve the above thing (need a
instance with different behavior) using anonymous inner
classes. The advantage here is, you don't even need to
create a subclass. Create an Anonymous inner class on the
fly, Just override the required behavior, and create an
instance and use it. Here is an example :

I have a class 'A'. By default, its getValue() method
returns whatever the value x holds. But i want to override
this behavior, it should return x+15.

public class AnonymousInnerClass {

public static void main(String[] args) {
A a = new A(10) {
@Override
public int getValue() {
return x + 15;
}
};
System.out.println(a.getValue());// 25 and not 10
}

}

class A {
int x;

public int getValue() {
return x;
}

A(int x) {
this.x = x;
}
}

Is This Answer Correct ?    0 Yes 0 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

how to deploy tomcatserver to weblogic server? write d following steps?

1454


What is java reflection?

538


What are the advantages of autoboxing?

539


What does you mean in math?

539


What are examples of modifiers?

516






Can constructor be static or final?

654


What is nullpointerexception?

559


Which is better arraylist or vector?

576


Can we call thread start () twice?

521


What is the length of a string?

526


What is meant by JVM? Is JVM platform independent or not?

579


What is anonymous inner class?

612


What is an immutable class?

619


What is the use of singleton?

514


What are triggers in DB? Explain their types. How do they work?

630