What is the use of anonymous inner classes ?
Answers were Sorted based on User's Feedback
Answer / 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 |
Answer / jubin thomas, bhilai(mpccet)
Anonymous class is a class which has no methods defined in
it.
Eg.
class a
{
public void hello();
}
class b
{
a obj = new a();
public void hello()
{
System.out.println("Hello World");
}
}
| Is This Answer Correct ? | 2 Yes | 64 No |
What is meant by object?
What is passing value java?
Hi, well i am unable to understand that why it is mandatory to have same hashcode, if two objects are same? Thanks in advance.
What is string immutability?
What are init(), start() methods and whey they are called?
what r advatages of websphere? & how to deploy?
What is the purpose of default constructor?
What is the purpose of setAutoCommit() ?
Can subclass overriding method declare an exception if parent class method doesn't throw an exception?
What is the original name of java?
What is java’s garbage collected heap?
What is a byte array?