问答详情
源自:8-9 Java 中的 static 使用之静态方法

为什么没有不是这样的HelloWorli.print();调用?


最后行的print();不应该是HelloWorld.print();调用吗?

提问者:qq_晴_18 2017-08-25 23:29

个回答

  • 真正大英雄王思文
    2017-08-26 08:32:49

    你好,请注意看Main()方法和print()方法前面都有static关键字,而且这两个方法也都在同一个类里面,所以main()方法可以直接调用print()方法而不需要通过类。这里调用的print()方法跟你前面的HelloWorld hello = new HelloWorld()没有任何关系,删掉仍然可以调用print()方法。

    main()方法和其他方法的本质一样,也是一个类里的方法,当main()方法的类里面有其他static属性或者方法的时候,他们对于Main()来说是可见的,main()当然可以直接调用。

    楼主可以尝试将Main()方法放到另外一个java类中,再次像这样调用print()的时候必然会报错。这时候就必须变为HelloWorld.print();