您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 冶金工业 > java复习资料(内容版)
1/39JAVA编程技术复习纲要(JAVA语言程序设计郑莉王行言马素霞)第1章JAVA语言基础知识1.1JAVA语言与面向对象的程序设计1简述面向对象的编程语言与以往编程语言的根本不同点面向对象的编程语言与以往编程语言的根本不同在于抽象机制的不同。机器语言和汇编语言几乎没有抽象,对于机器而言是最合适的描述,它可以直接操作机器的硬件,并且任何操作都是面向机器的,这就要求人们在使用机器语言或汇编语言编写程序时,必须按照机器的方式去思考问题。因为没有抽象机制,所以程序员不得不陷入复杂的事物之中。面向过程的语言使程序员可以离开机器层次,在更抽象的层次上表达意图。但它所关注的只是处理过程,即执行预期计算所需要的算法。面向对象的编程语言将客观事物看作具有状态和行为的对象,通过抽象找出同一类对象的共同状态(静态特征)和行为(动态特征),构成模型——类。而程序需要解决的问题便反映为各种不同属性的对象以及对象之间的关系和消息传递。面向对象的方法在程序设计领域是一种相对较新的方法,它更接近于人类处理现实世界问题的自然思维方法。2封装的好处封装带来的好处是:隐藏类的数据、控制用户对类的修改和控制数据访问权限3面向对象技术给软件发展带来的益处可重用性:一个设计好的类可以在今后的程序开发中被部分或全部地重复利用。可靠性:每一个类作为一个独立单元可以单独进行测试、维护,大量代码来源于可靠的类库,因而开发新程序时新增代码明显减少,这是程序可靠性提高的一个重要原因。4面向对象语言的基本特征抽象和封装:抽象的结果形成类,类中的数据和方法是受保护的,可以根据需要设置不同的访问控制属性。这便保证了数据的安全性,隐藏了方法的实现细节,也方便了使用。2/39继承性:可以对已有类增加属性和功能,或进行部分修改来建立新的类,实现代码的重用。多态性:在面向对象的程序中,同一个消息被不同对象接收后可以导致不同的行为。5Java语言的特点面向对象:Java是完全面向对象的语言。Java语言提供类的机制,在对象中封装了成员变量和方法,实现了数据的封装和信息隐藏;类提供了一类对象的模型,通过继承和多态,实现了代码的复用。安全性:Java不支持指针,一切对内存的访问都必须经过对象的实例变量实现,防止了以不法手段访问对象的私有成员,同时避免了指针操作中容易产生的错误。Java的内部安全措施保证了Java程序在Java虚拟机规则下操作,防止未授权的程序访问含有专用信息的系统资源或危及客户机的完整性。操作平台无关性:Java编译器生成与平台无关的字节码指令,只要安装了Java运行系统,其程序就可以在任意的处理器上运行。这些字节码对应于Java虚拟机中的表示,Java解释器得到字节码后,对其进行解释,使之能够在不同的平台下运行。不同的操作系统有不同的虚拟机,与平台无关的特性使得Java程序可以方便地移植到不同的机器上。多线程:Java是第一个在语言级提供内置多线程支持的高级语言,这大大简化了多线程程序的编写。而一些其他语言要通过调用操作系统的原语来支持多线程。动态内存分配:Java中所有的对象都是通过动态内存分配建立的,Java对内存自动进行管理并进行垃圾回收,防止了因程序员失误而导致的内存分配错误,进而更好地利用了系统资源。1.2JAVA程序概述6Java程序编译执行的过程首先把源文件(.java文件)编译成字节码文件,即类文件(.class);然后由解释器负责解释执行类文件。7Java平台Java平台包括Java应用程序接口(API)和Java虚拟机(Javavirtualmachine,JVM)。Java应用程序接口是指经过编译的,可在程序中直接使用的Java代码标准库。Java虚拟机负责解释和执行Java程序。Java程序运行于Java平台之上,Java虚拟机将程序和硬件隔离开来。1.3基本数据类型与表达式3/398变量的作用域变量的作用域指可以访问该变量的程序代码范围。按照作用域的不同,变量可以分为类成员变量和局部变量。类成员变量在类的声明体中声明,其作用域为整个类;局部变量在方法体或方法的代码块中声明,其作用域为它所在的代码块(即花括号{}的范围)。9基本数据类型(基本数据类型有几种?分别是什么?)基本数据类型是指Java固有的数据类型,可以分为数字型、布尔型和字符型数字型基本数据类型有六种,其说明如下表:类型说明长度最小值最大值byte带符号位整数8位-128127short带符号短整数16位-215215-1int带符号整数32位-231231-1long带符号长整数64位-263263-1float单精度浮点数32位2-149(2-2-23).2127double双精度浮点数64位2-1074(2-2-52).21023布尔型数据表示一个逻辑量,只有两个值true和false,它们不对应于任何整数值。字符类型数据用于存储单个字符,字符以代码形式存储。Java字符数据类型是16位,最小值0,最大值65535,放置Unicode符号。10类型转换的分类类型转换可以分成扩展转换和窄化转换两类。byte,short,int,long,float,doublechar扩展double,float,long,int,short,byte,char窄化按照扩展方向转化,从一种整型转换到另一种整型,或者从float转换到double时,不损失任何信息。从整型转换到float或者double将损失精度。窄化转换可能会丢失信息。11发生类型转换的四种可能情况赋值转换4/39方法调用转换强制类型转换字符串转换1.4数组的概念12数组的概念数组是由同类型的数据元素构成的一种数据结构。数据元素可以是基本数据类型也可以是引用类型。通过数组名和数组元素下标(或称为索引)可以引用数组中的元素。每个数组都有一个名为length的成员变量,用来表示数组所包含的元素的个数,length只能是正整数或零。数组创建之后length就不能被改变。1.5数组的创建和引用13图示下面创建并初始化一个三行的二维数组的过程int[][]myArray;myArray=newint[3][];myArray[0]=newint[3];int[]x={0,2};int[]y={0,1,2,3,4};myArray[1]=x;myArray[2]=y;第2章类与对象的基本概念2.1面向对象的程序设计方法概述5/391抽象抽象就是忽略问题中与当前目标无关的那些内容,以便更充分地注意与当前目标有关的方面。计算机软件开发中所使用的抽象有过程抽象及数据抽象两类。过程抽象将整个系统的功能划分为若干部分,强调功能完成的过程和步骤,而隐藏其具体的实现。基于过程抽象的两个标准程序设计技术是过程分解及递归技术。数据抽象是将系统中需要处理的数据和这些数据上的操作结合在一起,抽象成不同的抽象数据类型,每个抽象数据类型既包含了数据,也包含了针对这些数据的操作。相对于过程抽象,数据抽象是更为合理的抽象方法。面向对象的软件开发方法的主要特点之一就是采用了数据抽象的方法来构建程序的类及对象。2封装封装是一种信息隐蔽技术,就是利用抽象数据类型将数据和基于数据的操作封装在一起。用户只能看到对象的封装界面信息,对象的内部细节对用户是隐蔽的。封装的目的在于将对象的使用者和设计者分开,使用者不必知道行为实现的细节,只需使用设计者提供的消息来访问对象。3继承继承是指新的类可以获得已有类(称为超类、基类或父类)的属性和行为,称新类为已有类的派生类(也称为子类)。在继承过程中派生类继承了基类的特性,包括方法和实例变量。派生类也可修改继承的方法或增加新的方法,使之更适合特殊的需要。继承有助于解决软件的可重用性问题,使程序结构清晰,降低了编码和维护的工作量。4单继承任何一个派生类都只有单一的直接父类,类层次结构为树状结构。5多继承一个类可以有一个以上的直接父类,类层次结构为网状结构,设计及实现比较复杂。6多态多态是指一个程序中同名的不同方法共存,主要通过子类对父类方法的覆盖来实现。不同类的对象可以响应同名的消息(方法),具体的实现方法却不同。多态性使语言具有灵活、抽象、行为共享、代码共享的优势,很好地解决了应用程序方法同名问题。6/392.2类与对象7类和对象一个类是对一类对象的描述。类是构造对象的模板,对象是类的具体实例8类的声明语法格式[public][abstract|final]class类名称[extends父类名称][implements接口名称列表]{变量成员声明及初始化;方法声明及方法体;}说明:class:表明其后声明的是一个类extends:如果所声明的类是从某一父类派生而来,那么,父类的名字应写在extends之后implements:如果所声明的类要实现某些接口,那么,接口的名字应写在implements之后修饰符可以有多个,用来限定类的使用方式public:表明此类为公有类abstract:指明此类为抽象类final:指明此类为终结类9对象的创建生成实例的格式:new类名()其作用是:在内存中为此对象分配内存空间,返回对象的引用(reference,相当于对象的存储地址)。10数据成员数据成员表示Java类的状态。声明数据成员必须给出变量名及其所属的类型,同时还可以指定其他特性。在一个类中成员变量名是唯一的。数据成员的类型可以是Java中任意的数据类型(简单类型,类,接口,数组)。分为实例变量和类变量。7/39数据成员的声明格式:[public|protected|private][static][final][transient][volatile]变量数据类型变量名1[=变量初值],变量名2[=变量初值],…;格式说明public、protected、private为访问控制符static指明这是一个静态成员变量final指明变量的值不能被修改transient指明变量是临时状态volatile指明变量是一个共享变量11实例变量没有static修饰的变量称为实例变量(InstanceVariables)。用来存储所有实例都需要的属性信息,不同实例的属性值可能会不同。可通过下面的表达式访问实例属性的值实例名.实例变量名12类变量类变量也称为静态变量,声明时需加static修饰符。不管类的对象有多少,类变量只存在一份,在整个类中只有一个值。类初始化的同时就被赋值。适用情况:类中所有对象都相同的属性经常需要共享的数据系统中用到的一些常量值引用格式:类名|实例名.类变量名13方法成员方法成员定义类的行为:一个对象能够做的事情我们能够从一个对象取得的信息可以没有,也可以有多个;一旦在类中声明了方法,它就成为了类声明的一部分。分为实例方法和类方法声明格式:8/39[public|protected|private][static][final][abstract][native][synchronized]返回类型方法名([参数列表])[throwsexceptionList]{方法体}格式说明:方法修饰public、protected、private为存取控制符static指明方法是一个类方法final指明方法是一个终结方法abstract指明方法是一个抽象方法native用来集成java代码和其它语言的代码synchronized用来控制多个并发线程对共享数据的访问返回类型方法返回值的类型,可以是任意的Java数据类型当不需要返回值时,返回类型为void参数类型简单数据类型,引用类型(数组、类或接口)可以有多个参数,也可以没有参数,方法声明时的参数称为形式参数throwsexceptionList用来处理异常14包的作用将相关的源代码文件组织在一起;不同包中的类名可以相同,从而可以避免名字冲突;提供包一级的封装及存取权限。15编译单元的组成所属包的声明(省略,则属于默认包);Import(引入)包的声明,用于导入外部的
本文标题:java复习资料(内容版)
链接地址:https://www.777doc.com/doc-6185547 .html