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

来源:8-9 Java 中的 static 使用之静态方法

qq_晴_18

2017-08-25 23:29


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

写回答 关注

1回答

  • 真正大英雄王思文
    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();

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530105 学习 · 6086 问题

查看课程

相似问题