我刚刚开始使用
Java,正在查看嵌套类主题,并尝试了一些东西,当突然,这发生了:
class Encloser
{
static int i;
static void m1()
{
System.out.println(i);
}
static void m2()
{
Enclosee.accessEncloser();
}
static class Enclosee
{
static void accessEncloser()
{
i = 1;
m1();
}
static void accessEncloserNew()
{
m2();
}
}
}
class EncloserTest
{
public static void main(String[] args)
{
Encloser ee = new Encloser();
Encloser.Enclosee e = new Encloser.Enclosee();
ee.m1();
ee.m2();
e.accessEncloser();
e.accessEncloserNew();Encloser.m1();
Encloser.m2();
Encloser.m1();
Encloser.Enclosee.accessEncloserNew();
Encloser.Enclosee.accessEncloser();
}
}
运行上面的代码不会给出任何错误/异常.它只是运行.这里的混淆是,实例如何在这里调用静态方法?不像Ruby中的类方法那样的静态方法吗?
任何解释将不胜感激:)