首先,我正在尝试用Java学习Java ,初学者指南,第4版.我使用Ubuntu作为我的操作系统,使用Netbeans作为我的IDE.我需要创建一个项目来使用Netbeans时创建一个类.
这是我的hello world app.
class First{
public static void main(String args[])
{
System.out.println("Hello!");
}
}
Run Code Online (Sandbox Code Playgroud)
但这会带来很多错误.当我把它放到package first;我的Java类的顶行时,它会运行.但是,这本书没有使用包期限.这是Netbeans的规则,还是我需要了解的内容?
gob*_*dor 18
你永远不需要把一个类放在一个包中.但是,这几乎总是一个好主意.这是Netbeans积极尝试鼓励你做的事情.
对于小项目,使用默认包(即没有package语句的文件)是可以的.但是,一旦您的项目增长并开始添加外部库,就会发生不好的事情.如果其他人决定使用默认包并碰巧有一个同名的类怎么办?现在,因为你们都在同一个包中,所以可能会发生冲突!
您的文件结构也应该反映您的包.也就是说,文件package com.myurl.helloworld应位于名为的文件夹中com/myurl/helloworld.这与上述原因相同.
此外,您可能还没有在学习中获得此类,您无法从默认包中导入类,也无法在默认包类中使用package-private visibility修饰符.
小智 11
那是因为Java的作者,初学者指南,第4版最有可能使用"默认包".这样,您就不必包含任何包.包是名称空间声明.
什么是命名空间声明!? 命名空间声明只是一个用于组织类的包.例如,如果您要使用多个类,假设您的GUI和算法的多个类,将它们混合在一起总是有点令人困惑.然而,将它们分类到不同的包中是一种优越的解决方案.
如果其他人要查看您的代码,还应该遵循一个命名约定.软件包应以顶级域名命名.我倾向于创建SourceForge项目,然后我最终得到这样的东西:
net.sourceforge.softwarename.security,net.sourceforge.softwarename.gui等...
另请注意,在命名包装时,切勿使用大写字母.更多信息在这里.
在学习编程时,你会遇到很多这样的情况.他们都是游戏的一部分.你只需要自己弄清楚一点.
我能为你做的最好的就是推荐Eclipse.另外,在学习Java时,我建议您不要使用IDE!那是因为你将学会独立编码.但是,这取决于你.