Answer Posted / shaik baji
In Java we have 4 types of inner classes
1)Regular Inner Classes
2)Method local Inner Classes
3)Static Inner Classes
4)Anonymous Inner Classes
Regular Inner Class:
---------------------
public class RegularInnerClassDemo
{
RegularInnerClassDemo()
{
System.out.println("RegularInnerClassDemo");
}
class InnerClass
{
InnerClass()
{
System.out.println("InnerClass");
}
public void go()
{
System.out.println("hi");
}
}
public static void main (String [] args)
{
RegularInnerClassDemo f = new
RegularInnerClassDemo();
f.makeBar();
}
void makeBar()
{
(new InnerClass() {}).go();
}
}
Method Local Inner Class:
--------------------------
public class MethodLocalInnerClassDemo
{
public static void main (String [] args)
{
class InnerClass
{
public String name;
public InnerClass(String s)
{
name = s;
}
}
Object obj = new InnerClass("Zippo");
InnerClass h = (InnerClass) obj;
System.out.println(h.name);
}
}
Anonymous Inner Class:
----------------------
Anonymous inner class comes in two forms
1)Normal Anonymous Inner Class
2)Parametrized Anonymous Inner Class
1) Normal Anonymous Inner Class:
Again the Normal Anonymous Inner class is two types
a)Extending the class by Anonymous Inner Class
b)Implementing the interface by Anonymous Inner
Class
a)Extending the class by Anonymous Inner Class
class One
{
void printOne()
{
System.out.println("One");
}
}
class AnonymousDemoByClass
{
public static void main(String Arg[])
{
One obj = new One(){
void printOne()
{
printTwo();
}
void printTwo()
{
System.out.println
("Two");
}
};
obj.printOne();
}
}
Output: Two
b) Implementing the interface by Anonymous Inner
Class
interface One
{
void printOne();
}
class AnonymousDemoByInterface
{
public static void main(String Arg[])
{
One obj = new One(){
public void printOne()
{
printTwo();
}
void printTwo()
{
System.out.println
("Two");
}
};
obj.printOne();
}
}
Output: Two
2)Parametrized Anonymous Inner Class:
Here we are implementing our Anonymous inner class as a
paramer to any method.
interface One
{
void printOne();
}
class ParameterizedAnonymousDemo
{
public static void main(String Arg[])
{
ParameterizedAnonymousDemo obj =
new ParameterizedAnonymousDemo();
obj.doSomething(new One(){
public void printOne
()
{
System.out.println("One");
}
});
}
public void doSomething(One objOne)
{
objOne.printOne();
}
}
| Is This Answer Correct ? | 1 Yes | 0 No |
Post New Answer View All Answers
What do heavy weight components mean in java programming?
What are the different types of sorting in java?
Explain the importance of throwable class and its methods?
Define how does a try statement determine which catch clause should be used to handle an exception?
What is the buffer limit?
what is collatration?
What is jit compiler in java?
What is the importance of hashcode() and equals() methods?
What is quick sort in java?
What is the difference between member variables initialization and assignment in a constructor?
Why does the integer quotient -0/3 yield 0, but the double quotient -0.0/3.0 yields – 0.0?
Can singleton class be inherited in java?
Are maps ordered java?
What are "class access modifiers" in Java?
What is the parse method in java?