Java Reference
In-Depth Information
class EnclosingClass
{
private static int i;
private static void m1()
{
System.out.println(i);
}
static void m2()
{
EnclosedClass.accessEnclosingClass();
}
static class EnclosedClass
{
static void accessEnclosingClass()
{
i = 1;
m1();
}
void accessEnclosingClass2()
{
m2();
}
}
}
Listing3-1 declaresatop-levelclassnamed EnclosingClass withclassfield i ,
classmethods m1() and m2() ,andstaticmemberclass EnclosedClass .Also, En-
closedClass declares class method accessEnclosingClass() and instance
method accessEnclosingClass2() .
Because accessEnclosingClass() is declared static , m2() must prefix
thismethod'snamewith EnclosedClass andthememberaccessoperatortoinvoke
this method.
Listing 3-2 presents the source code to an application that demonstrates how to
invoke EnclosedClass 's accessEnclosingClass() classmethod,andinstan-
tiate EnclosedClass and invoke its accessEnclosingClass2() instance
method.
Search WWH ::




Custom Search