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();
}
}
}
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.