public class StaticTest
{
private static int size = 3;
public class InnerClass
{
public void test()
{
System.out.println(size);
}
}
public static void main(String[] args)
{
}
}
内部类可以定义为静态的,如果定义成静态的话,可以在其他类中直接使用就像使用一个普通的类一样,比如
public class TestCase
{
public void test()
{
InnerClass inner = new InnerClass ();
inner .test();
}
public static void main(String[] args)
{
TestCase test = new TestCase();
test.test();
}
}
而如果不是静态的话必须这样使用
StaticTest.InnerClass inner = new StaticTest().new InnerClass ();
.
在内部类所属的外部类中,可以把内部类理解为一个成员变量来使用,静态的话,可以直接放在main方面里面用了,不知道这样理解对不。