java既能够创建独立的桌面应用程序,还能创建小应用程序,嵌入网页执行,还能作为插件,通过别的JAVA应用程序通过反射加载执行,在网页执行时称为Java Applet,作为独立桌面应用程序执行时称为Java Application,作为插件被别的JAVA应用程序加载时有很多叫法,最主要叫它Java Plugin。
1.1 制作Java Application桌面应用程序
新建一个文本文件,命名为HelloWorld.java(这是一个很经典的东西\( ̄▽ ̄)/),你可以用最简单的记事本来编辑这个文本文件,也可以用Eclipse等集成开发环境来编写这个程序,只不过记事本相比Eclipse这样的集成开发环境来说还是太过于简单了,显然不适合开发大型应用程序,但是这里我们只需要用记事本就行了,Eclipse可能反而不方便,因为你必须创建项目,才能编辑源程序。
1.编写源程序
在记事本里写入如下内容:
- import java.io.*;
- //导入输入输出包里的全部类
- public class HelloWorld
- //定义一个名为HelloWorld的类
- {
- public static void main(String args[])
- //程序的入口函数
- {
- System.out.println("HelloWorld!");
- //在标准输入输出流输出"HelloWorld!"
- }
- }
2.编译并运行
首先需要对Java源代码进行编译,使其成为Java虚拟机可以执行的中间源代码(Java字节码):
打开cmd转到你编写的源文件所在的目录(什么?不知道CMD怎么用?问度娘=w=),然后输入 javac HelloWorld.java 并回车。这时你将在同一目录得到一个名叫HelloWorld.class的Java字节码文件。然后执行 java HelloWorld ,这时你将在控制台看到输出:"HelloWorld!",这就是你第一个Java应用程序!
3.程序代码解析(不必深入理解)
第1行代码import是一个关键字,用来加载其他类供本程序使用,类似于C中的#include。
第3行代码定义了一个公共类HelloWorld的类头,注意在JAVA里,如果有一个类被定义成了公共类,那么包含此类的文件名字,必须是这个类的名字 + .java后缀,当然如果没有一个是公共的,则可以随便乱取名字。
第5~12行是公共类HelloWorld的类体,其中包含着一个入口函数。
第6~11行是这个程序的入口函数,入口函数必须是公共的、静态的、返回void的、名字为main的、且必须接受一个String类型的数组。
第9行调用System类的out静态属性的println方法,并传递"HelloWorld!"字符串,这时将在控制台输出HelloWorld!。
至于以//开头的类容则是注释,在编译时会自动屏蔽,所以只是让程序更好被人理解,没有实际用途。另外JAVA里还有一种以@开头的名为注解的玩意,这玩意可能影响程序的编译、运行,所以不能随意更改,要注意区别。
Applet小程序一般运行在网页上提供类似flash的动态交互内容,它使用和Java Application同样的编译器进行编译,得到的字节码的格式与Java Application相同,只不过大多数不能作为独立应用程序运行(大多数没有独立应用程序初始化所需要的main静态函数),所以必须嵌入到html网页中,通过浏览器调用其定义的函数,来完成小程序的生命周期。
1.编写源程序
在记事本里写入如下内容:
- import java.applet.*;
- //applet应用程序需要的包
- import java.awt.*;
- //awt图形技术包
- public class HelloWorldApplet extends Applet
- {
- public void paint(Graphics g)
- {
- g.setColor(Color.blue);
- g.drawString("HelloWorld",10,20);
- }
- }
2.编译并运行:
和Java Application一样,首先需要对Java源代码进行编译。编译的步骤和Java Application一样,也就是说Applet和Application本质上字节码格式是相同的。
然后,你需要创建一个html文件,因为Applet需要在网页环境下运行(大多数时候)。在HelloWorldApplet.class所在文件夹下,新建一个文本文件命名为example.html,用文本编辑器打开它,输入:
- <HTML>
- <BODY>
- <Applet CODE="HelloWorldApplet.class" HEIGHT=200 WIDTH=300>
- </APPLET>
- </BODY>
- </HTML>
- @echo off
- @echo Java Applet小程序开始运行
- @appletviewer example.html
- @echo Java Applet小程序运行完成
- @Pause
然后保存该文件,并运行。这时,你可以看见Applet以一个窗口的形式打开,并运行,避免调用庞大的浏览器,这在开发程序时十分有用。
3.程序代码解析(不必深入理解)
第1~3行代码import是两个关键字,用来加载其他类供本程序使用,类似于C中的#include。
第5行代码定义了一个公共类HelloWorldApplet的类头,并使其继承自Applet,所有Applet小程序的启动类都必须继承自Applet类。
第7行代码重载了父类中的一个名为paint的方法,父类中本来就有这个方法,可是子类为了实现特定的功能,而覆盖父类的方法,叫做方法重载。此方法的用途是让Applet执行绘图、更新图形界面、显示文本等功能。大多数Applet都应该重载此方法来给用户有好的客户端界面。
第9行代码调用了一个名为 g 的参数的 setColor 方法,并向 setColor 传递一个 Color 类的静态字段 blue,目的是告诉Applet绘图使用蓝颜色。
第10行代码则调用了名为 g 的参数的 drawString 方法,并传递 一个字符串类型的字面量 和两个 int类型的字面量。目的是告诉Applet在屏幕上打印一个内容为 HelloWorld ,X轴为 10 位置,Y轴为 20 位置 的字符串。