一个java源文件中至多有一个public类,该类的名称必须与源文件名称相同。也可以没有public类,文件名与任意一个类名一致即可。
包
类似于cpp的namespace,是对类的再封装,防止命名冲突。
java包的命名规则全部使用小写字母。
定义包: package likeyichu.com;
导入包中的类: import likeyichu.com.cc; //(必须具体到类,不能只导入包)
示例:

在定义包的时候,实际上就指定了你的源文件的存放位置。如包名为"com.likeyichu"时, 该源文件就在 projectname\src\com\likeyichu下。
含有源文件的文件夹被“包括进”构建路径时才被理解为"包“,不然不能编译。见下图。

源文件中没有package语句时,实际上相当于创建了默认包。
main函数
如果将main函数写为 public static void main()会报错:
在类 xxx 中找不到 main 方法, 请将 main 方法定义为:
public static void main( String[] args)
在类 xxx 中找不到 main 方法, 请将 main 方法定义为:
public static void main( String[] args)
假设有HelloWorld.class,那么运行 java HelloWorld arg0,arg1,arg2 。则
args[]的值分别为 arg0,arg1,arg2。
解释还是编译?
java运行程序是一组可以打包成为一个jar文件的.class文件。java解释器负责这些文件的查找、装载和解释。
注意:java中并不强求必须使用解释器。因为存在生成可执行文件的java编译器。
.java->.class 之后,既可以交给jvm解释执行,也可以用第三方软件(如exe4j)生成.exe。即便是使用JVM,它也有JIT,just in time,即时编译技术。使用该技术,能够加速java程序的执行速度。 原理如下:
运行时,部分代码可能由JIT翻译为目标机器指令(以method为翻译单位,还会保存起来,第二次执行就不用翻译了)直接执行,故Java的效率要比一般的解释性语言高的多。
发布程序
以eclipse Kepler版本为例。
1.先右击想运行的含有main()函数的.java文件,运行一遍,这样如图所示位置就有launch的信息了。
2.右击项目名,导出为可执行jar包,在launch configuration中选择自己想要的一项。