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
Write a program to reverse a number in java?
If you are given the name of the function at run time how will you invoke the function?
Objects or references which of them gets garbage collected?
What ide should I use for java?
How to create a thread in java?
What are wrapper classes in java?
What is difference between string and new string?
When is the finally clause of a try-catch-finally statement executed?
In java, how we can disallow serialization of variables?
What are the various access specifiers for java classes?
How many digits is int32?
What are methods of a class?
What is use of functional interface in java 8? Explain
Can I import same package/class twice?
Can inner class have constructor?