Cas*_*how 0 ruby java equivalent
我知道,在Python和Ruby有该片段if __name__ == '__main__':
和if __FILE__ == $0,这将只运行如果脚本是直接打开运行.
这似乎是一个非常有用的功能,我没有在Java中看到过(我学校的"官方"编程语言).在Java中有没有相同的东西?如果没有,有没有办法实现它?
java有public static void main(String[] args)方法.当一个类从命令行作为主类运行时调用它,并且通常仅在这种情况下调用(您可以直接调用它,但它通常没有意义).所以,在java中,标准是在这个方法中加入"主调用"逻辑.
添加到jthalborn的答案:
真正的问题不是"我如何用Java做到这一点?" 它是"为什么Ruby和Python需要这样的kludge?"
答案是Ruby和Python期望在加载文件时(从库或作为主程序)从开始到结束执行文件,所以你需要一个hack来说"如果我不运行这部分"我被称为图书馆".Java没有期望从头到尾运行文件或类.它有一个main()特定的类,它包含该类何时被用作主程序的代码.因此,Java不需要这个hack.
(在这方面,C和C++就像Java一样,但是你只能main()在一个程序中有一个函数,所以你需要使用预处理器来决定编译哪一个,或者你需要将不同的main()函数放在不同的文件中,并仅编译您需要的文件.)
| 归档时间: |
|
| 查看次数: |
426 次 |
| 最近记录: |