一个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)
如果有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中选择自己想要的一项。