A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 一碗小米周 中级黑马   /  2013-10-8 13:31  /  2524 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class Test{
    public static void main(String[] args){
        test();       
    }
    public static void test(){
        System.out.println("test...");               
     }
}
上述的小程序中,为什么可以在主函数中直接使用方法名test()直接调用?谢谢。

评分

参与人数 1技术分 +1 收起 理由
周志龙 + 1

查看全部评分

8 个回复

倒序浏览
因为test方法也是静态方法。
回复 使用道具 举报
同一个类中,而且test()方法是静态的啊。如果不是静态的可以 new  Test().test()

评分

参与人数 1技术分 +1 收起 理由
周志龙 + 1

查看全部评分

回复 使用道具 举报
test()属于Test()的内部函数是它的方法体,而且修饰符是static 所以可以访问!
回复 使用道具 举报
test()方法本身就是静态方法,j静态方法在内存中有一块单独的区域,在初始化后系统不会再为其开辟新的空间。程序启动时,会自动放在内存中。一句话说就是,静态方法可以直接调用。

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
诗化了邂逅 发表于 2013-10-8 14:19
test()方法本身就是静态方法,j静态方法在内存中有一块单独的区域,在初始化后系统不会再为其开辟新的空间 ...

静态方法不是只有两种调用方式吗?一种是用类名调用,一种是对象调用?难道在这里类名可以省略?
回复 使用道具 举报
一碗小米周 发表于 2013-10-8 14:25
静态方法不是只有两种调用方式吗?一种是用类名调用,一种是对象调用?难道在这里类名可以省略?
...

同一个类中啊,不需要类名
回复 使用道具 举报
murder_fol 发表于 2013-10-8 14:33
同一个类中啊,不需要类名

恩。我刚知道了。其实是省略了类名。。在同一个类中则不需要写类名。谢谢各位。
回复 使用道具 举报
在同一类中,可以直接调用静态函数。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马