Tuesday, September 8, 2009

Inner Class In Java............

There is an interesting topic in java,which is 'Innerclass'.I've tried to give you some idea about it.
It is possible to define a class within another class; such classes are known as nested classes.
The scope of a nested class is bounded by the scope of its enclosing class. Thus, if class B is
defined within class A, then B is known to A, but not outside of A. A nested class has access
to the members, including private members, of the class in which it is nested. However, the
enclosing class does not have access to the members of the nested class.
There are two types of nested classes:
i)static and ii)non-static.
A static nested class is one which has the static modifier applied. Because it is static,
it must access the members of its enclosing class through an object.
That is, it cannot refer to members of its enclosing class directly.
Because of this restriction, static nested classes are seldom used.
The most important type of nested class is the inner class. An inner class is a
non-static nested class. It has access to all of the variables and methods of its outer class
and may refer to them directly in the same way that other non-static members of the
outer class do. Thus, an inner class is fully within the scope of its enclosing class.
The following program illustrates how to define and use an inner class:


/* Example Related Inner Class */

class B
{
int x=10;
void set()
{
A in=new A();
in.show();
}
class A
{
void show()
{
System.out.println("The value of x:"+10);
}
}
}
class Innetcls
{
public static void main(String args[])
{
B ob=new B();
ob.set();
}
}
Now if we're looking at output,then we will see that it will give 10.
Here Class A is the inner class of the class B.
Hope you have enjoyed it........

No comments:

Post a Comment