JAVA的名词解释及复习.docx
- 文档编号:30365323
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:18
- 大小:49.39KB
JAVA的名词解释及复习.docx
《JAVA的名词解释及复习.docx》由会员分享,可在线阅读,更多相关《JAVA的名词解释及复习.docx(18页珍藏版)》请在冰豆网上搜索。
JAVA的名词解释及复习
Java语言与面向对象程序设计
Java语言与面向对象程序设计印
清华大学出版社
zmm@
教一3楼CAD实验室
第一课 面向对象软件开发概述
教学目的:
集中介绍面向对象软件开发和面向对象程序设计中的基本概念和基本方法,
教学要求:
使得对面向对象软件开发方法的体系,原则,基本思想和特点有一定的了解。
学习方法:
学习课本知识为主,结合自己曾经学过的C++等面向对象编程语言的知识.
内容要点:
1.1面向对象问题求解的提出
面向过程与面向对象技术的关系
面向过程的程序遵循面向过程的问题求解方法。
其中心思想是用计算机能够理解的逻辑来描述和表达待解决的问题及其具体的解决过程。
数据结构,算法是面向过程问题求解的核心组成。
面向对象技术代表了一种全新的程序设计思路和观察,表述,处理问题的方法,与传统的面向过程的开发方法不同,面向对象的程序设计和问题求解力求符合人们日常自然的思维习惯,降低,分解问题的难度和复杂性,提高整个求解过程的可控制性,可监测性和可维护性,从而达到以较小的代价和较高的效率获得较满意效果的目的。
最早的面向对象的软件是1966年推出的SimulaI。
1980年提出的Smalltalk-80已经是一种比较成熟有效的面向对象的语言了,其后,先后产生了Lisp,Clascal,ObjectPascal,C++等种面向对象的语言。
目前使用的最成功的面向对象语言有在C语言基础上发展起来的C++语言和90年代新出现的面向对象的编程语言Java等。
1.2面向对象问题求解概述
与传统的面向过程的程序设计方法相比,面向对象的程序设计具有如下的优点:
●对象的数据封装性彻底消除了传统结构方法中数据与操作分离所带来的种种问题,提高了程序的可复用性和可维护性;
●对象的数据封装性还可以把对象的私有数据和公共数据分离开,保护了私有数据,减少了可能的模块干扰
●对象作为独立的整体具有良好的自恰性,可以通过自身定义的操作来管理自己;
●在具有自恰的的同时,通过一定的接口和相应的消息机制与外界相联系
●继承是面向对象方法中除封装外的另一个重要特性,通过继承可以很方便地实现应用的扩展和已有代码的重复使用
1.3对象,类与实体
对象的概念是面向对象技术的核心,面向对象技术中的对象就是现实世界中某个具体的物理实体在计算机逻辑中的映射和体现,类是同种对象的集合与抽象。
对象,实体与类的关系如下图所示。
计算机世界 现实世界
对象实体
实 抽
例 象 抽象
化
类 抽象数据类
概念世界
在用面向对象的软件方法解决现实世界的问题时,首先将物理存在的实体抽象成概念世界中的抽象数据类型,这个抽象数据类型里面包括了实体中与需要解决的问题相关的数据和属性然后再用面向对象的工具,如JAVA语言,将这个抽象数据类型用计算机逻辑表达出来,即构造计算机能够理解和处理的类,最后将类实例化就得到了现实世界实体的面向对象的映射――对象,在程序中对对象进行操作,就可以模拟现实世界中的实体上的问题并解决之。
1.4对象的属性与相互关系
1.4.1对象的属性
状态和行为是对象的主要属性
状态是对象的静态属性,如对象(电视机)具有状态(种类,品牌,外观,大小等)
行为是对象的操作,如对象(电视机)可以具有操作(打开,关闭,调整音量等)
1.4.2对象的关系
对象间可能存在的关系有三种:
包含,继承和关联
当对象A是对象B的属性时,称对象B包含对象A。
如电视机与显像管是包含关系,电视机包含显像管。
当对象A是对象B的特例时,称对象A继承了对象B。
如彩色电视机是电视机的特例,彩色电视机对象继承了电视机对象,电视机是父亲,彩色电视机是儿子。
当对象A的引用是对象B的属性是时,称对象A和对象B之间是关联关系。
所谓对象的引用是指对象的名称,地址,句柄等可以获取或操纵该对象的途径。
例如,每台电视机都对应一个生产厂商,如果把生产厂商抽象成对象,则电视机对象应该记录自己的生产厂商,电视机对象与生产厂商对象是关联关系。
1.5面向对象的软件开发过程
1.5.1面向对象的分析(OOA)
这里介绍较广泛的Coad&Yourdon的面向对象分析(OOA)模型,它有5个层次:
●对象-类层
●静态属性层
●服务层
●结构层
●主题层
每个层次描述需求模型的一个方面,设计完上述5个层次,就得到了完整的OOA模型。
1.5.2面向对象的设计(OOD)
分析阶段(OOA)要明确开发的软件系统是“干什么”的,设计阶段(OOD模型)则是明确这个软件系统将“怎么做”。
面向对象的设计就是OOA模型再加入界面管理,任务管理和数据管理四个部分
1.5.3面向对象的实现
面向对象的实现就是具体的编码阶段,其主要任务包括:
●选择一种合适的面向对象的编程语言
●用选定的语言编码实现详细设计步骤所得的公式,图形,说明和规则等对软件系统各对象类的详尽描述。
●将编写好的各个类代码模块根据类的相互关系集成
●利用开发人员提供的测试样例和用户提供的测试样例分别检验编码完成的各个模块和整个软件系统
1.6面向对象程序设计方法的优点
●可重用性:
指一个软件项目中开发的模块,能够不仅限于在这个项目中使用,而且可以重复地使用在其他项目中,从而在多个不同的系统中发挥伤用。
●可扩展性:
指应用软件能够很方便,容易地进行扩充和修改。
●可管理性:
面向对象的开发方法采用内涵比过程和函数丰富,复杂得多的类作为系统的部件,使整个项目的组织更加合理,方便。
小结
这一课概述了面向对象软件开发的基础知识,包括面向对象问题求解的提出和面向对象问题求解的基本过程。
第二课 Java概述
2.1第一个JavaApplication程序
根据结构组成和运行环境的不同,Java程序可以分为两类:
JavaApplication和JavaApplet.
两者区别是:
Java Application是完整的程序,需要独立的解释器来解释运行,而Java Applet则是嵌在HTML编写的Web页面中的非独立程序,由Web浏览器内部包含的Java解释器来解释运行。
2.1.1源程序编辑
JAVA源程序是以.java为后缀的简单的文本文件,可以用各种JAVA集成开发环境中的源代码编辑器来编写,也可以用其他文本编辑工具(如记事本)。
参见以下Java Application的例子:
程序2-1MyJavaApplication.java
程序源代码语句说明
importjava.io.*; //用import语句加载已定义好的包java.io.*,
//类似于C中的#include,要在屏幕上进行输出
//的程序都要加载该包
publicclassMyJavaApplication//主类MyJavaApplication的头说明
{
publicstaticvoidmain(Stringargs[]) //程序入口,主类的主函数main
{
System.out.println(“Hello,JavaWorld!
”); //标准输出函数,在屏幕上打印
// “Hello,JavaWorld!
”
}
}
解释要点:
●类体中的类的成员包括域和方法
●主类必须说明成public class
●main方法的说明必须是:
publicstaticvoidmain(Stringargs[])
●System是系统内部定义的一个系统对象;out是System对象中的一个域,也是一个对象;println是out对象的一个方法
2.1.2字节码的编译生成
程序编辑完成之后,接着要做的步骤是:
命令行 说明
javacMyJavaApplication.java //生成字节码
解释要点:
●调用JDK软件包中的Java编译器程序javac.exe后编译所得的目标码称为字节码
●源代码中定义了几个类,编译结果就生成几个字节码文件:
类名.class
●含有main方法的类就称为主类,类名就是Java源文件名
2.1.3字节码的解释与运行
Java字节码不能直接运行在一般的操作系统平台上,而必须运行在一个称为“Java虚拟机”的操作系统之外的软件平台上,在运行Java程序时,首先应该启动这个虚拟机,然后由它来负责解释执行Java的字节码:
命令行 说明
javaMyJavaApplication //解释执行字节码
2.2第一个JavaApplet程序
对于JavaApplet程序,字节码文件必须嵌入到另一种语言HTML的文件中并由负责解释HTML文件的WWW浏览器充当其解释器。
2.2.1源程序的编辑与编译
参见以下Java Applet的例子:
程序2-2MyJavaApplet.java:
程序源代码语句说明
importjava.awt.Graphics;//将java.awt包中的类Graphics引入,这样//以下的程序中可以引用该类及其中的
//函数g.drawString,用于画图和写文字。
importjava.applet.Applet;//是Applet程序都要引入java.applet包中的//系统类Applet
publicclassMyJavaAppletextendsApplet//Applet程序的主类必须是Applet的子类,//这里extends是表示继承的关键字,//MyJavaApplet是Applet的儿子
{
publicvoidpaint(Graphicsg)//用于在窗口中画图和写字的系统函数,
//只能在图形界面中可用,故Application程//序不可用。
{
g.drawString(“Hello,JavaAppletWorld!
”,10,20);//在窗口中显示文字“Hello,Java
//AppletWorld!
”
}
}
解释要点:
●JavaApplet中不需要main方法,要求程序中有且必须有一个类是系统类Applet的子类
●paint方法表示它将在WWW所显示的Web页面需要重画时(窗口移动或放缩时)被浏览器自动调用并执行。
2.2.2代码嵌入
程序2-2是JavaApplet程序,用命令:
javacMyJavaApplet.java
生成字节码后,必须将其字节码嵌入到HTML文件中,它可以嵌入在如下的HTML文件中:
程序2-3 AppletInclude.html:
程序源代码语句说明
//HTML文件开始
//嵌入字节码文件MyJavaApplet.class
//在Web页中占用的高度为200,宽度//为300
//HTML文件结束
2.2.3Applet的运行
JavaApplet的下载执行过程:
WWW服务器 WWW服务器
HTML文件
下载HTML文件 ――――― 请求
Applet嵌入标记 Applet字节
请求HTML文件 Applet名
―――――
―――――
WWW浏览器 ―――――
下载Applet字节码
解释执行Applet字节码
首先将编译好的字节码文件和编写好的HTML文件保存在Web服务器的合适路径下,当WWW浏览器下载此HTML文件并显示时,它会自动下载此HTML文件中指定的JavaApplet字节码,然后调用内置在浏览器中Java解释器来解释执行下载到本机的字节码程序。
2.3图形界面的输入输出
图形用户界面(GraphicsUserInterface)简称GUI,是目前大多数应用程序使用的输入输出界面,它在图形模式下工作,操作简便,美观。
2.3.1JavaApplet图形界面输入输出
JavaApplet程序需要在WWW浏览器中运行,而浏览器本身是图形界面的环境,所以JavaApplet程序只能在图形界面下工作。
程序2-4 AppletInOut.java
程序源代码语句说明
importjava.applet.*;
importjava.awt.*;//凡使用图形界面,必须加载java.awt包
importjava.awt.event.*; //凡使用图形界面的事件处理进行输入输//出,必须加载java.awt.event包
publicclassAppletInOutextendsAppletimplementsActionListener
//implementsActionListener说明该类还要//通过图形界面的事件处理进行输入输出
{
Labelprompt;//定义标签对象prompt
TextFieldinput,output; //定义两个文本框对象input,output
publicvoidinit() //init()方法是Applet类的系统方法,在浏览器
//调用JavaApplet程序时自动执行
{
prompt=newLabel("Inputyourname:
");//prompt初始化置为"Inputyourname:
"
input=newTextField(6);//input置为宽度6的空文本框
output=newTextField(20); //output置为宽度20的空文本框
add(prompt); //prompt放入图形界面上去
add(input);//input放入图形界面上去
add(output);//output放入图形界面上去
input.addActionListener(this);//文本框input输入结束打回车,则自动转入
//事件处理函数actionPerformed
}
publicvoidactionPerformed(ActionEvente) //事件处理函数,由addActionListener转入
{
output.setText(input.getText()+",Welcome!
"); //在output文本框中显示input中的文
//字及",Welcome!
"
}
}
解释要点:
●凡是JavaApplet程序,必须加载java.applet包;凡是使用图形界面,必须加载java.awt包;凡是使用图形界面的事件处理,必须加载java.awt.event包
●主类必须是Applet类的子类,用“extendsApplet”来说明
●“implementsActionListener”说明该类是动作事件(ActionEvent)的监听者
●标签(Label)对象和文本框(TextField)的含义
●方法init()在浏览器调用JavaApplet程序时自动执行
●actionPerformed()动作事件的监听者使用这个方法来处理动作事件。
2.3.2JavaApplication图形界面输入输出
与JavaApplet不同,JavaApplication程序没有浏览器提供的现成的图形界面可以直接使用,所以需要首先创建自己的图形界面。
程序2-5 ApplicationGraphicsInOut.java
程序源代码语句说明
importjava.awt.*;
importjava.awt.event.*;
classFrameInOutextendsFrameimplementsActionListener//它是系统类Frame的子类,即建//立一个窗口
{
Labelprompt;
TextFieldinput,output;
Buttonbtn;//定义按钮btn
FrameInOut() //与类名同名,又没有返回的函数是
//构造函数
{
super("GraphicsFrameofJavaApplication");//窗口标题为"GraphicsFrameofJava
//Application"
prompt=newLabel("Inputyourname:
");
input=newTextField(6);
output=newTextField(20);
btn=newButton("Close"); //建立按钮,按钮面板上写"Close"
setLayout(newFlowLayout());//布局策略,即流式排放
add(prompt);
add(input);
add(output);
add(btn); //将按钮放入窗口中
input.addActionListener(this);
btn.addActionListener(this); //鼠标点击btn进入事件处理函数
//actionPerformed
setSize(300,200);//设置窗口大小
show(); //显示窗口
}
publicvoidactionPerformed(ActionEvente)
{
if(e.getSource()==input) //如果是文本框input打回车进入
//actionPerformed的,则
output.setText(input.getText()+",Welcome!
");//在output中输出
else//如果是鼠标点击btn进入actionPerformed
//的,则
{
dispose();//关闭窗口
System.exit(0);//退出
}
}
}
publicclassApplicationGraphicsInOut //它是主类,因为拥有main方法的类才是
//主类,不管它放在程序的前面还是后面
{
publicstaticvoidmain(Stringargs[])
{
newFrameInOut();//调用类FrameInOut的构造函数
}
}
解释:
●窗框类Frame,通过使用窗框对象,JavaApplication程序不必借助浏览器也可以实现图形界面下的输入输出功能
2.4字符界面的输入输出
所有的JavaApplet程序都是在图形界面的浏览器中运行的,所以只在JavaApplication程序可以实现字符界面中的输入输出。
程序2-6 ApplicationCharInOut.java
程序源代码语句说明
importjava.io.*; //字符界面的输入输出要加载该包
publicclassApplicationCharInOut
{
publicstaticvoidmain(Stringargs[])
{
//charc='';
Strings=""; //说明字串s
//System.out.print("Enteracharacterplease:
");
System.out.print("Pleaseenterastring:
");
try{//异常处理
//c=(char)System.in.read();
BufferedReaderin=
newBufferedReader(newInputStreamReader(System.in));
//键盘输入一串字符入缓冲in
s=in.readLine();//从缓冲in入s
}catch(IOExceptione){}; //异常处理
//System.out.println("Youareenteredcharcater:
"+c);
System.out.println("Youareenteredstring:
"+s);
}
}
解释:
●所有的JavaApplet程序都是在图形界面中运行,只有JavaApplication程序可以实现字符界面中的输入输出
●System.in.read()方法将使程序处于阻塞状态,等到用户输入了一个字符并按回车键后再向下执行
●输入输出类BufferedReader和InputStreamReader
2.5Java语言的特点
Java语言的五大特点:
●平台无关性
●面向对象
●安全稳定
●支持多线程
●简单易学
小结
这一课概述了Java语言的基础知识,从一个最简单的JavaApplication程序入手,介绍了Java程序开发从源程序到字节码编译生成和运行的整个过程。
随后又介绍了Applet小程序的开发和运行过程,图形用户界面和字符界面下Java程序的基本输入输出方法。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 名词解释 复习