你实际上可以跳过这个第一部分,因为它会令人困惑,但我会保留在这里,因为我想知道其他人是否感觉一样.我是CS本科,已经使用
Java 3年了,我仍然觉得很难理解如何将Main功能包含在我的设计中.将它放在一个类中,它本身就是错误的,但是将它插入另一个类文件也感到错误.我看到后者是这样的,因为它不符合课堂的其余部分,使其不粘.例如,我不能在我的DocumentReader对象上粘贴一个主要功能.这与对象无关.另一方面,我不能只做一个Main类,因为在面向对象程序设计中只能有一个主要的功能,所以你应该在对象的方面有效地创造一个微型的世界.对于那个微型世界来说,围绕一个单独的对象,只是似乎没有任何东西.它不会像故事中的叙述者和角色一样,因为它同时没有任何东西.我喜欢C的风格,具有独立于一切的主要功能.它将故事的叙述与彼此互动的角色分开.
解决方法
我将main()函数保存在一个名为我的项目的类中.当您使用命令行启动应用程序时,键入:
java com.domain.project.ApplicationName
看起来我有一个简单的Launcher名称的逻辑,而不是:
java com.domain.project.AClassWhichDoesntLookLikeAMainClass
或(太)经典
java com.domain.project.Launcher
但是不要为这个类烦恼太多,这样可能永远不会被最终用户执行.脚本或其他可执行文件大部分时间都会启动.
另一件事,你的main()方法可能会变得沉重,特别是如果你真的使用主要的args来获得更多的CLI选项.也许它值得自己的课.