单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2019年4月18,谢谢你的观看,第1章 Java语言概述,1,谢谢你的观看,2019年4月18,第1章 Java语言概述1谢谢你的观看2019年4月18,主要内容,(2,学时),Java,语言的发展和特点,发展、特点、工作机制,面向对象程序设计,传统与面向对象的程序设计语言、对象性质,Java,程序举例,应用程序、小程序举例及程序结构,Java,程序开发工具与开发方法,JDK,下载安装、配置环境变量及,JCreator Pro,介绍,2,谢谢你的观看,2019年4月18,主要内容(2学时)Java语言的发展和特点2谢谢你的观看20,补:编程语言的几个发展阶段,面向机器语言,汇编语言,面向过程语言:把代码组成过程或函数,结构化程序设计语言:仍然为面向过程语言,面向对象语言:引入类,3,谢谢你的观看,2019年4月18,补:编程语言的几个发展阶段面向机器语言3谢谢你的观看2019,Java,的产生、发展与特点,1.1.1,Java,语言的产生与发展,1990,年,Sun,公司的,James Gosling,等人开始开发名称为,Oak,的语言。希望用于控制嵌入在有线电视交换盒、,PDA,等的微处理器。,1993,年交互式电视和,PDA,市场开始滑坡,而,Internet,正处于增长时期,因此,Sun,公司将目标市场转向,Internet,应用程序。,1994,年将,Oak,语言更名为,Java,。,1995,年,Sun,公司的,HotJava,浏览器问世。,4,谢谢你的观看,2019年4月18,Java 的产生、发展与特点1.1.1 Java语言的产生与,Java,产生、发展与特点,Java,是,1995,年,6,月由,Sun,公司引进到我们这个世界的革命性的编程语言,它被美国的著名杂志,PC Magazine,评为,1995,年十大优秀科技产品。之所以称,Java,为革命性编程语言,是因为传统的软件往往与具体的实现环境有关,一旦环境有所变化就需要对软件做一番改动,耗时费力,而,Java,编写的软件在执行码上兼容。这样,只要计算机提供了,Java,解释器,,Java,编写的软件就能在其上运行,(“Write One,,,Run Anywhere”),。,印度尼西亚有一个重要的盛产咖啡的岛屿,中文名叫爪哇,开发人员为这种新的语言起名为,Java,其寓意是为世人端上一杯热咖啡。,5,谢谢你的观看,2019年4月18,Java产生、发展与特点Java是1995年6月由Sun公司,1.1.2,Java,语言的特点,Java,是一个迅速发展的网络编程语言,它是一种新的计算概念。,作为一种程序设计语言,它,简单、面向对象、分布式、解释执行、不依赖于机器的结构,具有可移植性、鲁棒性、安全性、并且是多线程的、动态的,具有很高的性能,。,Java,最大限度地利用了网络。一种称为,Java,小程序(,Applet),的,Java,程序是动态、安全、跨平台的网络应用程序,可在网络上运行而不受,CPU,和环境的限制。,6,谢谢你的观看,2019年4月18,1.1.2 Java语言的特点6谢谢你的观看2019年4月1,1.1.3,Java,程序的工作机制,编程人员首先编写好源代码,然后经编译生成一种二进制的中间码,称为字节码(,byte code),,最后再通过运行与操作系统平台环境相应的一种称为,Java,解释器的运行机构来执行编译生成的字节码。,Java,的解释器和运行时系统又称为“,Java,虚拟机(,JVM,Java Virtual Machine)”,7,谢谢你的观看,2019年4月18,1.1.3 Java程序的工作机制7谢谢你的观看2019年4,Java,程序的开发过程,如图所示:,源文件,字节码文件,Java,编,译,器,文件名,.java,产生,由,Web,浏览器,执行,对于,Java,小应用程序,由,Java,解释器执行,对于,Java,应用程序,8,谢谢你的观看,2019年4月18,Java程序的开发过程如图所示:源文件字节码文件Java文件,字节码文件,与平台无关的二进制码,执行时由解释器解释成本地机器码,解释一句,执行一句。,9,谢谢你的观看,2019年4月18,字节码文件与平台无关的二进制码,执行时由解释器解释成本地机器,Java,程序的开发过程,编写源文件:使用一个文字编辑器,如,Edit(Edit plus),或记事本,来编写源文件。不可使用,Word,编辑器,因它含有不可见字符。将编好的源文件保存起来,源文件的扩展名必须是,.java,。,编译,Java,源程序:使用,Java,编译器,(,javac.exe,),,编译源文件得到字节码文件。,运行,Java,程序:,Java,程序分为两类,Java,应用程序,(,Application,),和,Java,小应用程序,(,Applet,),,,Java,应用程序必须通过,Java,解释器,(,java.exe,),来执行其字节码文件,,Java,小应用程序必须通过支持,Java,标准的浏览器来解释执行。,10,谢谢你的观看,2019年4月18,Java程序的开发过程编写源文件:使用一个文字编辑器,如Ed,1.2 面向对象程序设计,Java,语言是一种面向对象(,OO,Object Oriented),的程序设计语言。无论是,Java,应用程序还是,Java,小程序,它们都是以,类,为基础构建的。,11,谢谢你的观看,2019年4月18,1.2 面向对象程序设计Java语言是一种面向对象(OO,O,1.2.1 传统与面向对象程序设计语言,传统的面向过程的程序设计方法从解决问题的每一个步骤入手,较适合于解决比较小的简单问题。如典型的面向过程的程序设计语言,BASIC、C,语言等。,面向对象的程序设计方法则按照现实世界的特点来管理复杂的事物,把它们抽象为对象,具有自己的状态和行为,通过对消息的反应来完成一定的任务。,12,谢谢你的观看,2019年4月18,1.2.1 传统与面向对象程序设计语言 12谢谢你的观看20,面向对象程序设计(,OOP),中的“对象”是什么含义呢?借用一个现实世界中“车”的例子来说明对象的含义。,“车”有各种各样的种类,如手推车、自行车、摩托车、汽车等。从各种车可归纳出它们的共性,如车有车轮、重量、颜色等,是汽车还有车速、耗油量等。这些是从“车”这类事物抽象出来的共性,也即所谓的数据、数据成员或属性。车不仅有这些静态的数据,还有很多与这些数据有关的动作和行为,如车的启动、加速、刹车和修理等,这就是所谓的代码、成员函数或方法。将上述车的数据和动作代码组合起来,就得到一个车类(,class)。,13,谢谢你的观看,2019年4月18,面向对象程序设计(OOP)中的“对象”是什么含义呢?借用一个,有了抽象的车类后,一辆实际的车,如一辆自行车、一辆汽车等,就是车类的一个一个对象或实例。对象是一个实体,而不象车是一个抽象概念。现实世界中,您我使用的一辆自行车、一辆汽车是车类的一个对象。,类是一类事物共性的反映,而对象是一类事物中的一个,是个性的反映。每个对象都有与其他对象不完全一样的特性。,14,谢谢你的观看,2019年4月18,有了抽象的车类后,一辆实际的车,如一辆自行车、一辆汽车等,就,1.2.2 对象的性质,一个对象就是数据和相关的方法的集合,其中,数据表明对象的状态,方法表明对象所具有的行为。,面向对象的概念构成了,Java,的核心。面向对象具有封装、继承、多态三个主要特性。,15,谢谢你的观看,2019年4月18,1.2.2 对象的性质 15谢谢你的观看2019年4月18,封装性:,操纵汽车时,不用去考虑汽车内部各个零件如何运作的细节,而只需根据汽车可能的行为使用相应的方法即可。实际上,面向对象的程序设计实现了对象的封装,使用户不必关心对象的行为是如何实现这样一些细节的。面向对象设计的核心一环是将处理数据的代码、数据的声明和存储封装在一起。,一个对象中的数据和代码相对于程序的其他部分是不可见的,它能防止那些不希望的交互和非法的访问。,Java,封装的基本单元是类。,封装的目的是为了减少复杂性。,16,谢谢你的观看,2019年4月18,封装性:16谢谢你的观看2019年4月18,继承性:,可将世界看成相互关联的可划分层次的各种对象,如车、汽车和轿车。这里汽车是车的继承,而轿车又是汽车的继承。下一层次继承了上一层次的所有特性。一个多层次的继承关系构成了一个类树结构。,在面向对象的程序设计中,继承是指在已有类的基础上建立一个新类。新类自动拥有父类的所有元素:数据成员和成员方法,然后再根据需要添加新任务所需的数据成员和成员方法。,一个不由任何类派生来的类称为基类;一个派生类的最近的上层类叫做该类的父类;从某一类派生出来的类叫做该类的子类。,17,谢谢你的观看,2019年4月18,继承性:17谢谢你的观看2019年4月18,多态性:,不同的对象对于相同的方法表现其不同的理解和响应。可以想像的到:对于自行车和汽车,它们都定义了刹车的方法,但它们的刹车方法却是完全不同的。,在面向对象的程序设计语言中,多态性意味者一个对象具有多个面孔。,Java,通过方法重写和方法重载来实现多态。,通过方法重载,子类可以重新实现父类的某些方法,使其具有自己的特征。,18,谢谢你的观看,2019年4月18,多态性:18谢谢你的观看2019年4月18,1.3,Java,程序举例,1.3.1,Java,应用程序举例,【例1.1】输出信息为“,Hello,World!”,的,Java,应用程序。,/*,Hello.java*/,public class Hello /,一个,Application,public static void main(String args),System.out.println(Hello,World!);,注释,定义类,定义,main,方法,19,谢谢你的观看,2019年4月18,1.3 Java程序举例1.3.1 Java应用程序举例注释,1.3.2,Java,小程序举例,【例1.2】显示信息为,Hello World!,的,Java,小程序。,import java.awt.Graphics;,import java.applet.Applet;,public class HelloApplet extends Applet,public void paint(Graphics g),g.drawString(Hello World!,20,20);,引入所需要的类,继承,Applet,类,20,谢谢你的观看,2019年4月18,1.3.2 Java小程序举例引入所需要的类 继承Apple,1.3.3,Java,程序结构,Java,程序由类构成,一个源程序文件允许最多一个,public,类,且源文件的文件名必须为这个,public,类的类名;若源程序文件中无,public,类,则可选择任意一个类(通常是第一个类或主类)的名称或者一个其他的名称作为文件名。,对,Java,应用程序来说,必须在一个类中定义有,main(),方法,包含,main(),方法的类是该应用程序的主类。,对,Java,小程序来说,它必须作为,Applet,类或,JApplet,类的一个子类,继承,Applet,或,JApplet,类的类是小程序的主类。,21,谢谢你的观看,2019年4月18,1.3.3 Java程序结构21谢谢你的观看2019年4月1,1.,4 Java,程序开发工具与开发方法,Sun Microsystems JDK(Java Development Kit),:,J2SE,(标准版),J2EE,(企业版),J2ME,(小型家电版),Forte,第三方开发工具,RAD(Rapid Application Development,集成了,JDK,),JBuilder (Bo