黑马程序员技术交流社区

标题: 简单小问题 [打印本页]

作者: 一碗小米周    时间: 2013-10-8 13:31
标题: 简单小问题
class Test{
    public static void main(String[] args){
        test();       
    }
    public static void test(){
        System.out.println("test...");               
     }
}
上述的小程序中,为什么可以在主函数中直接使用方法名test()直接调用?谢谢。


作者: 落木萧萧    时间: 2013-10-8 13:34
因为test方法也是静态方法。
作者: murder_fol    时间: 2013-10-8 13:36
同一个类中,而且test()方法是静态的啊。如果不是静态的可以 new  Test().test()
作者: 花生壳    时间: 2013-10-8 13:43
test()属于Test()的内部函数是它的方法体,而且修饰符是static 所以可以访问!
作者: 诗化了邂逅    时间: 2013-10-8 14:19
test()方法本身就是静态方法,j静态方法在内存中有一块单独的区域,在初始化后系统不会再为其开辟新的空间。程序启动时,会自动放在内存中。一句话说就是,静态方法可以直接调用。
作者: 一碗小米周    时间: 2013-10-8 14:25
诗化了邂逅 发表于 2013-10-8 14:19
test()方法本身就是静态方法,j静态方法在内存中有一块单独的区域,在初始化后系统不会再为其开辟新的空间 ...

静态方法不是只有两种调用方式吗?一种是用类名调用,一种是对象调用?难道在这里类名可以省略?

作者: murder_fol    时间: 2013-10-8 14:33
一碗小米周 发表于 2013-10-8 14:25
静态方法不是只有两种调用方式吗?一种是用类名调用,一种是对象调用?难道在这里类名可以省略?
...

同一个类中啊,不需要类名

作者: 一碗小米周    时间: 2013-10-8 15:49
murder_fol 发表于 2013-10-8 14:33
同一个类中啊,不需要类名

恩。我刚知道了。其实是省略了类名。。在同一个类中则不需要写类名。谢谢各位。

作者: Mr.__ㄨīn    时间: 2013-10-8 20:11
在同一类中,可以直接调用静态函数。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2