Java – 能够访问静态方法的实例
发布时间:2020-12-15 04:42:04 所属栏目:Java 来源:网络整理
导读:我刚刚开始使用 Java,正在查看嵌套类主题,并尝试了一些东西,当突然,这发生了: class Encloser{ static int i; static void m1() { System.out.println(i); } static void m2() { Enclosee.accessEncloser(); } static class Enclosee { static void accessE
我刚刚开始使用
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中的类方法那样的静态方法吗? 任何解释将不胜感激:) 解决方法
这是语言允许的:
ee.m1(); 但你应该写: Encloser.m1(); 编译器应该发出如下警告,通知你:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |