Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由美国Sun Microsystems公司于1995年5月开发的Java程序设计语言和Java平台的总称。Java语言是从C++程序语言发展而来的,但比C++语言简单,它是当前比较流行的网络编程语言。Java语言的出现是源于对独立于平台语言的需要,即这种语言编写的程序不会因为芯片的变化而发生无法运行或出现运行错误的情况。
Sun公司对Java编程语言的解释是:Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高效、多线程和动态的语言。主要特性如下:
(1)Java语言简单易用。一方面,Java语言的灵感主要来自于C++语言,其语法与C语言和C++语言接近,有C++基础的开发者会感觉Java很熟悉,另一方面,Java语言摒弃了C++语言中很少使用的、难以理解且令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换等。
(2)Java语言是一种面向对象的程序设计语言。Java语言只支持单继承,它的多继承是通过实现多接口来完成。
(3)Java语言是分布式的。Java拥有广泛的能轻易地处理TCP/IP协议的运行库,例如HTTP与FTP类库等等。这使得在Java中比在C或C++中更容易建立网络连接。Java应用程序可以借助URL通过网络开启和存取对象,就如同存取一个本地文件系统一样简单。
(4)Java语言是健壮的。Java语言的强类型机制、异常处理、内存垃圾的自动收集等是程序健壮性的重要保证;对指针的摒弃是Java语言的明智选择。
(5)Java语言是安全的。
(6)Java语言是平台无关的。所谓平台无关是指编译后的Java程序可直接在不同的平台上运行而不用重新编译,这一特性使得Java随着Web应用的普及而迅速普及起来。因此只要在操作系统中配有JVM,就可以运行编译后的Java程序,也就是“一次编写,随处运行”,因而轻松实现跨平台。
(7)Java语言是可移植的。Java语言规定同一种数据类型在各种不同的实现中,必须占据相同的内存空间。
(8)Java语言是解释型的。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在连接阶段被载入到运行环境中。
(9)Java语言是高性能的。Java语言是一种半编译半解释执行的语言。
(10)Java语言是多线程的。在Java语言中,线程是一种特殊的对象,它由Thread类或子(孙)类来创建,或者实现Runnable接口来创建。Java语言支持多个线程的同时执行,并提供多线程之间的同步机制来保证对共享数据的正确操作。
(11)Java语言是动态的。Java语言需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。
Application(应用程序)和Applet(小应用程序)是Java提供的两种不同类型的程序。Java Application是一种独立完整的程序,与其他应用程序类似,是可以在计算机操作系统中运行的程序;Java Applet不是一种独立完整的程序,需要在浏览器这种特定环境下运行。
Java Application程序的结构特点是:程序是由一个或多个文件组成的,每个文件又是由一个或多个类组成的,每个类是由若干个方法和变量组成的。
Java Applet应用程序是内嵌于HTML文档中,并使用<APPLET>标记的可执行Java字节码,是具有动态、安全、跨平台特性的网络应用程序,通过主页发布到Internet。Java Applet可以在Internet中传输,通过因特网下载并且能在所有支持Java的浏览器中运行,它的最大特点是能对用户做出反应,并进行相应的变化。Applet不能独立在JVM中运行,而是由浏览器或Applet阅读器(applet viewer)执行。
Java开发工具分为两大类:一类是基本开发工具,即Sun公司免费提供的Java 2 SDK;另一类是专业开发工具,当今最流行的企业级开发工具有Eclipse、MyEclipse、JBuilder2008、JDeveloper等,功能强大,满足企业级开发的需要。
JDK(Java Development Toolkit)是Sun公司开发的Java开发工具包,它是一个简单的命令行工具,主要包括软件库、编译Java源代码的编译器、运行Java字节码的解释器,以及测试Java Applet的Applet阅读器,还有其他一些有用的工具。它主要是通过DOS命令行,在DOS环境下进行Java程序的编译和运行。可以到Oracle公司的Java语言官方网站上下载最新版的JDK软件。安装完JDK后,需要设置3个系统环境变量,JAVA H_OME的路径、JDK开发工具的路径和CLASSPATH的路径(具体配置见实验任务1)。
JCreator是由Xinox软件公司所开发的一个可视化的Java程序集成开发环境,它给用户提供了包括工程管理、工程模板、代码实现、代码调试器、高亮语句编辑以及完全客户化的用户界面等广泛的功能。
JBuilder是由Borland公司开发的一款功能强大的可视化Java集成开发环境,可以快速开发包括复杂企业级应用系统的各种Java程序,包括独立运行程序、Applet程序、Servlet、JSP、EJB、Web Service等。
Eclipse是由IBM公司开发的一款开放源码的通用工具平台,它专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台,由Eclipse项目、Eclipse工具项目、Eclipse技术项目和Eclipse Web工具平台项目组成。最常用的Java开发功能实际上是Eclipse一个主要的插件JDT(Java Development Tools,Java开发工具)所提供的,它随Eclipse SDK一同发行。Eclipse是开发源代码的项目,用户可以到 http:∥www.eclipse.org/ downloads/ 去免费下载Eclipse的安装程序。图1.1所示的界面布局是在Java视图下的工作主界面。工作台是一个桌面开发环境,提供了使用Eclipse工具必需的用户界面,以Java视图为例,用户的工作界面包含窗口、菜单栏、工具栏等。在资源管理窗口中文件以“文件/目录”的形式进行管理,可以在该窗口中查找所需的文件资源并可以右键单击文件名进行相关操作。
图1.1 Eclipse的工作界面
(1)java.lang包。封装所有编程应用的基本类,如Object、Class、String、System、Integer、Thread等。其中Object是所有类的根,它所包含的属性和方法被所有类继承。
(2)java.awt包。封装抽象窗口工具包,提供构建和管理图形用户接口(GUI)设计工具,包含构件、容器和布局管理器。
(3)java.io包。提供输入/输出文件操作的类。
(4)java.applet包。为Applet提供执行所需的所有类。
(5)java.net包。提供程序执行网络通信应用及URL处理的类。
(6)java.util包。提供实用程序类和集合类,如系统特性定义和使用、日期方法类、集合Collection、List、Arrays、Map等常用工具类。
(7)java.sql包。提供访问和处理标准数据源数据的类。
(8)java.rmi包。提供程序远程方法调用所需的类。
(9)javax.naming包。提供命名服务所需的类和接口。
(10)javax.swing包。提供构建和管理程序的图形界面的轻量级的构件。
(11)javax.transaction包。提供事物处理所需的基本类,除此之外,Javax扩展包还提供Rmi、Sound、Accessibility等包。