Java程序设计教程 第一讲 Java概述
本章主要内容 Internet 、Web与 Java渊源 程序设计语言的层次发展 C、 C++ 与Java Java的特征
1.1 Java的产生与发展 1.1.1Java的产生与发展 是由Sun 公司研发的进行网络、嵌入式项目开发的新一代程序设计语言。 Java设计成功之时的名字叫做oak,来源于一种橡树;但oak已经被其他公司注册,后来,工程师们在喝咖啡,突然灵机一动,就用一种叫java的咖啡来命名。 早期主要是为消费类电子产品开发分布式代码系统,解决家用电器的通信和控制问题。
1.1 Java的发展与应用 1.1.2 Java的应用 一、已发展出三个版本: 1、J2EE:企业版,适用于企业开发的企业应用。 2、J2SE:标准版,适用于个人开发的桌面应用。 3、J2ME:微型版,适用天移动、手持设备开发的嵌入应用。 二、其应用主要在以下几个方面: 1、基于Internet的信息综合服务。 2、基于Java芯片的智能卡及嵌入技术。 3、Java电子商务。 4、可视化应用编程。
Java的目的并不是改进C++并最终取代C++。 C++和Java这两种语言是设计用来解决不同问题的。 Java是用来设计必须共存于不同机器的应用程序——常常是基于Internet的基础之上。相反,C++用来开发在一台特定机器上运行的程序,尽管C++程序被重新编译后能够在其他机器上运行。
Java语言的许多基本结构与C++是相似的,有时甚至是相同的。例如,Java是一种面向对象编程语言,它用类来创建对象的实例。类具有数据成员和方法成员,这和C++中的类是相似的。 但是Java没有指针,在C/C++编程语言中指针是一个基石。 Java带有自动的垃圾收集器,这是在C/C++中没有的功能。 C++中支持多重继承,一个类可以有多个父类 而在Java中,一个类只能有一个父类,但是可以实现多个接口,这样既达到多重继承的目的,又保证了结构比多重继承更加清晰。
1.2.2、C与Java C语言为面向过程的程序设计语言。面向过程程序设计语言在程序设计过程中都倾向于面向行为。 C语言中,程序设计的单元是函数。C编程人员着重于编写函数。 C语言的主要问题是程序中的数据和操作分离,不能够有效地组成与自然界中的具体事物紧密对应的程序成分。 Java是纯面向对象的程序设计语言,Java语言中程序设计的单元是类,从类中创建一个一个实例对象。 Java编程人员着重创建用户自定义的类。每一个类均可包含数据属性和若干操作数据的函数。一个类的函数部分称为方法。
1.1.3 JAVA语言的特点: 1. 面向对象 对象是现实世界中某一个实际存在的事物,软件对象是数据和方法的封装体。类与对象的关系,如同一个模具与用这个模具铸造出来的铸件之间的关系;如同自行车图纸和自行车的关系。
2.跨平台 Java主要靠Java虚拟机(JVM)在目标代码级实现平台无关性。JVM是Java平台无关的基础,Java源代码先经过Java编译器生成Java虚拟机的字节码,再经过Java解释器将字节码转换成实际系统平台上的机器码,然后真正执行。任何一台机器只要配备了Java解释器,就可以运行字节码,而不管这种字节码是在何种平台上生成的。
3.安全性 首先,Java是强类型的语言,保证程序更加可靠;其次,Java不支持指针,杜绝了内存的非法访问;第三,Java的自动单元收集防止了内存丢失等动态内存分配的问题;第四,Java解释器运行时实施检查,可以发现数组和字符串访问的越界;最后,Java提供了异常处理机制,便于程序即时发现运行错误。
4.多线程 线程是操作系统的一种概念,被称为轻量级进程,是比传统进程更小的、可并发执行的单位。C 和C++采用单线程体系结构,Java提供了多线程支持。
5.图形功能强 Applet是Java特有的一种小应用。Java系统可以使Applet很方便地加入到Internet的网页之中,从而使Internet网页增加了各种动态的多媒体图形效果,增强了可视化的互动对话,对计算机图形学、计算机多媒体通信提供了良好的支持。
1.1.4 Java程序的类型及其不同的编程模式 用Java书写的程序有两种类型:Java 应用程序 (Java Application)和Java小应用程序(Java Applet)。 Java应用程序必须得到Java虚拟机的支持才能够运行。Java小应用程序则需要客户端浏览器的支持。 Java 小应用程序运行之前必须先将其嵌入HTML文件的<applet> 和</applet>标记中。当用户浏览该HTML页面时,Java小应用程序将从服务器端下载到客户端,进而被执行。
Application的基本编程模式: class 用户自定义的类名 // 定义类 { public static void main(String args[ ] ) //定义main( )方法 方法体 }
// 文件名: Welcome.java public class Welcome { public static void main( String args[] ) { System.out.println( "Welcome to Java Programming!" ); } //结束main方法的定义 } //结束类Welcome的定义
import java.awt.Graphics; import java.applet.Applet; class 用户自定义的类名 extends Applet //定义类 { public void paint(Graphics g) //调用Applet 类的paint( ) 方法 方法体 }
例1.2 <html> <applet code="WelcomeApplet.class" width=400 height=50> </applet> </html>
1.3 JAVA运行环境的安装 1.3.1JDK的下载与安装 可以登录java的官方网站:http://www.oracle.com 下载。
1.3.3 开发环境的配置 1、系统环境变量Path的设置: 用鼠标单击“我的电脑”图标,在弹出的快捷菜单中选择“属性”命令,弹出“系统属性”对话框。再单击该对话框的“高级”标签,然后在“高级”选项卡中单击“环境变量”按钮,在弹出的“环境变量”对话框的“系统变量”选项
组中单击“编辑”按钮,在“编辑系统变量”对话框的“变量名”文本框中输入 “path”,在“变量值”对话框中输入“D:\jdk\bin”,然后单击“确定”按钮,这样就设置好了系统环境变量path。 2、系统环境变量ClassPath的设置: 用鼠标单击“我的电脑”图标,在弹出的快捷菜单中,选择“属性”命令,弹出“系统属性”对话框,再单击该对话框的“高级”标签,
在“高级”选项卡中单击“环境变量”按钮,在弹出的“环境变量”对话框的“系统变量”选项组中单击“编辑”按钮,在弹出的“编辑系统环境变量”对话框的“变量名”文本框中输入“ClassPath”,在“变量值”文本框中输入“D:\jdk\lib;”,单击“确定”按钮即可。
1.4 Java程序开发过程 要创建一个Java需要三个基本步骤: (1) 创建带有文件扩展名.java的源文件。 (2)利用Java编译器生成文件扩展名为.class的字节码文件。 (3) Application程序利用Java解释器运行该字节码文件,Applet利用Java自带查看器或浏览器运行嵌有字节码文件的HTML文件。
程序设计方法的发展历程 ——面向对象的方法 程序设计方法的发展历程 ——面向对象的方法 面向对象的方法 优点: 程序模块间的关系更为简单,程序模块的独立性、数据的安全性就有了良好的保障。 通过继承与多态性,可以大大提高程序的可重用性,使得软件的开发和维护都更为方便。
面向对象的基本概念 ——对象 面向对象的方法 面向对象方法中的对象: 面向对象的基本概念 ——对象 面向对象的方法 面向对象方法中的对象: 是系统中用来描述客观事物的一个实体,它是用来构成系统的一个基本单位。对象由一组属性和一组行为构成。 属性:用来描述对象静态特征的数据项。 行为:用来描述对象动态特征的操作序列。
面向对象的基本概念 ——类 面向对象的方法 分类——人类通常的思维方法 分类所依据的原则——抽象 面向对象的基本概念 ——类 面向对象的方法 分类——人类通常的思维方法 分类所依据的原则——抽象 忽略事物的非本质特征,只注意那些与当前目标有关的本质特征,从而找出事物的共性,把具有共同性质的事物划分为一类,得出一个抽象的概念。 例如,石头、树木、汽车、房屋等都是人们在长期的生产和生活实践中抽象出的概念。
面向对象的基本概念 ——类 面向对象的方法 面向对象方法中的"类" 具有相同属性和服务的一组对象的集合 面向对象的基本概念 ——类 面向对象的方法 面向对象方法中的"类" 具有相同属性和服务的一组对象的集合 为属于该类的全部对象提供了抽象的描述,包括属性和行为两个主要部分。 类与对象的关系: 犹如模具与铸件之间的关系,一个属于某类的对象称为该类的一个实例。
Applet需要的HTML文件的最小集的格式为: <applet code=类名.class width= 宽度 height=高度> </applet> </THML>
面向对象的基本概念 ——封装 面向对象的方法 把对象的属性和服务结合成一个独立的系统单位。 面向对象的基本概念 ——封装 面向对象的方法 把对象的属性和服务结合成一个独立的系统单位。 尽可能隐蔽对象的内部细节。对外形成一个边界(或者说一道屏障),只保留有限的对外接口使之与外部发生联系。
面向对象的基本概念 ——继承 面向对象的方法 继承对于软件复用有着重要意义,是面向对象技术能够提高软件开发效率的重要原因之一。 面向对象的基本概念 ——继承 面向对象的方法 继承对于软件复用有着重要意义,是面向对象技术能够提高软件开发效率的重要原因之一。 定义:特殊类的对象拥有其一般类的全部属性与服务,称作特殊类对一般类的继承。 例如:将轮船作为一个一般类,客轮便是一个特殊类。
面向对象的基本概念 ——多态性 面向对象的方法 面向对象的基本概念 ——多态性 面向对象的方法 多态是指在一般类中定义的属性或行为,被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。这使得同一个属性或行为在一般类及其各个特殊类中具有不同的语义。 例如: 数的加法->实数的加法 ->复数的加法