装订线2010秋公共课JAVA复习提纲题型:选择、填空、阅读程序写运行结果、编程题考试时间:2011年01月11日(请自查具体时间和课室)要求:除了正常考试需要带的文具外,特别要注意自带2B铅笔和橡皮擦(1)参照14周上课时候给同学们划分的不考试的内容,认真阅读、理解和消化教材!!!(2)参照15周上课时候给大家评讲的《上机实验指导与习题》里面“习题集”,请按照(1)过滤掉不考试的内容、请过滤掉老师平时在课堂上没有给你们讲授过的内容!!!(3)重点掌握:1、java是一种什么样的语言?Java是一种将编译与解释融为一体的程序设计语言2、Java程序中的基本单位是什么?类3、合法标识符(变量名、类名、数组名、对象名,等等)命名规则?Java语言规定:标识符由字母、数字组成,第一个字符必须是字母,其字符序列的长度不限,但不允许与Java关键字、布尔类型值(true、false)和空值(null)相同。
Java中的50个关键字abstractassertbooleanbreakbytecasecatchcharclassconstcontinuedefaultdodoubleelseenumextendsfinalfinallyfloatforifgotoimplementsimportinstanceofintinterfacelongnativenewpackageprivateprotectedpublicreturnshortstaticstrictfpsuperswitchsynchronizedthisthrowthrowstransienttryvoidvolatilewhile 在Java语言中,声明常量的基本格式为:装订线[修饰符] final数据类型常量标识符[ = 常量表达式]在Java程序中,定义变量的基本格式为:数据类型变量名1[,变量名2[,变量名3[,......]]]定义一个String类对象的语法格式为:String 字符串变量名;Java语言规定,最简单的类定义格式为:[修饰符] class 类名 {类体}定义实例变量的格式为:[修饰符] 数据类型成员变量名Java语言规定,实例方法的定义格式为:[修饰符] 返回类型成员方法名(参数列表)[throws 异常类型列表] {成员方法体}构造方法的具体定义格式为:[修饰符] 类名(参数列表)定义对象的语法格式为:[修饰符] 类名对象名 [, 对象名 ];在Java语言中,定义子类的语法格式为:[修饰符] class 子类名 extends 父类名 {子类体}4、构造方法(函数)的定义?作用?正确书写方式?无参数的构造方法的代码通常如何写?有参数的构造方法的代码通常如何写?在继承关系中,父类和子类的构造函数的调用顺序如何?super()、super(参数)是怎么调用的?装订线构造方法是在构造类对象时使用的成员方法,其主要作用是初始化成员变量。
构造方法的具体定义格式为:[修饰符] 类名(参数列表)例如:public class Rectangle // 矩形类public Rectangle(int lengthValue, int widthValue) { }→这里就是一种有参数的构造方法!无参数构造方法就是:public Rectangle( )在继承关系中,父类和子类的构造函数的调用顺序:子类调用父类的无参数构造方法super()是子类调用父类的无参数构造方法;super(参数)是子类调用父类的有参数构造方法。
5、什么是继承?要求能正确书写一个父类、子类、他们之间的继承关系、如何用main来测试的项目?继承是指一个类的定义可以基于另外一个已经存在的类,即子类基于父类,从而实现父类代码的重用,在有些教材中,又将父类称为超类或者基类。
继承的程序可以看练习册73页的那个程序16、什么是抽象方法?什么是抽象类?什么是接口?抽象方法:例如:abstract class A{}在Java语言中,抽象类就是用abstract修饰符定义的类,其格式为:[修饰符] abstract class 抽象类名…… {// 成员变量与成员方法}接口是一种特殊的抽象类即按照接口中每个抽象方法的声明格式:修饰符interface接口名{/**常量声明*//**抽象方法声明*/}7、接口与抽象类的关系?接口是一种特殊的抽象类,装订线8、接口的方法与抽象类的抽象方法的关系?接口是抽象方法的集合,重点在于是方法,完成同一功能的对象可以实现同一个接口。
而抽象类是抽象对象的集合,重点在于对象。
9、JAVA是否可以实现多继承关系(多个父类)?是否可以实现多接口?实现一个接口时候是否必须实现这个接口的所有方法?JAVA是单继承、多接口的。
实现一个接口的时候必须实现这个接口的所以方法。
10、通常存放字符串常量和字符串变量分别是哪两个字符串类?字符串常量是指在程序运行过程中不会改变的字符串。
字符串变量用来存放一个字符串,字符串变量的值是可以改变的。
String标准类实现的字符串常量;StringBuffer标准类实现的可编辑修改的字符串,即字符串变量。
11、一维数组的定义?一维数组的下标的表示范围?对于一维数组,习惯用.length来表示数组的长度,什么是数组的长度?定义一维数组型变量的语法格式为:数组元素类型[ ] 数组型变量名;或者数组元素类型数组型变量名[ ];一维数组的下标表示范围从0开始。
例如:int【】 a=new int【5】;那么它的下标就是0,1,2,3,4 一个数组可以包含多个元素,所含的元素数目被称为数组的长度,数组中也可以没有任何元素,此时称为空数组。
12、二维数组的定义?二维数组就是一个同学们过去学习过的矩阵,哪个维来表示行坐标?哪个维表示纵坐标?二维数组的初始化形式是怎么样的?如有二维数组double [][] matrix 如果要描述整个二维数组matrix的长度该如何?如果要描述行坐标的长度该如何?列坐标的长度又该如何?Java语言规定,二维数组的定义格式为:数组元素类型[ ][ ] 数组型变量名;或者数组元素类型数组型变量名[ ][ ];或者装订线数组元素类型[ ] 数组型变量名[ ];new 数组元素类型[行数][列数];二维数组的初始化:例如:int[ ][ ] intArray={{1,2,3,4},{5,6,7,8}, {9, 10, 11,12}};执行效果:首先创建二维数组,然后,将第1个括号中的3个数值分别赋给第1行的3个元素;再将第2个括号中的3个数值分别赋给第2行的3个元素;最后将第3个括号中的3个数值分别赋给第3行的3个元素。
初始化后的数组元素状态为:描述整个二维数组matrix的长度:直接在中括号里面赋值。
描述行坐标就在左边的中括号赋值,纵坐标就在右边的。
但是要注意的是:在创建矩阵时不可以先创建列数,只可以先创建行数!!!13、掌握if /while/do while/for/switch在课件的第二章写得很清楚自己去看。
太多了,没有粘贴过来。
14、Java的3种注释的方式分别如何?Java语言提供了3种注释方式:行注释、块注释和文档注释。
行注释:顾名思义,行注释就是书写在一行中的注释,这是一种传统的注释方式,其书写格式为:以双斜线(//)开始到本行结束。
块注释:块注释可以书写多行注释内容,因此又被称为多行注释。
其书写格式为:以斜线加星号(/*)开始,以星号加斜线(*/)结束。
文档注释:所谓文档注释是指这部分注释可以自动形成文档的注释形式。
文档注释的符号是以斜线加双星号(/**)开始,并以星号加斜线(*/)结束。
15、Java的包的含义和应用?包定义语句必须放在java源文件第一行,也就是在它之前除了空白和注释之外不能有任何其他语句。
包也直接对应着操作系统目录层次结构,所以定义了相应包就必须得定义相应层次的文件夹层次。
例如有如下Test.java示例:package mysite;class Test{public static void main(String [] args) {装订线 System.out.println("package test successed!");}}16、如何定义一个静态的成员?在类中定义成员变量时,如果在访问特性修饰符之后加上static修饰符就成为静态成员变量。
例如,public static int staticMember;17、如何用类图描述继承关系?18、什么是重载?什么是覆盖?重载与覆盖的异同?成员方法的重载是指当子类中定义与父类中同名的成员方法,但参数列表不同,或者在一个类中定义多个同名的成员方法,但它们之间的参数列表不同。
当子类中定义的成员方法与父类中某个成员方法的名称与参数列表完全一样时被称为成员方法的覆盖。
相同点:方法名相同不同点:(1)对于方法来讲,重载指方法名相同,但返回类型和参数不同,这与继承无关,同一个类中也可以实现方法的重载。
而覆盖是指方法名相同,参数也相同(也包括顺序),并且返回类型也要保持一致,(2)而对于属性(成员变量)而言,是不能重载的,只能覆盖19、Java的类与文件的关系?也就是说已经写好的一个程序存放在一个文件夹里,当你需要使用时,你可以直接使用file 这个类来调用你所需要的文件。
这个是我问同学的,详细的我也说不清楚。
20、如何创建一个对象?创建对象的语法格式为:new 类名(参数列表)21、如何创建一个一维数组变量?用new运算符创建数组的语法格式:new数组元素类型[数组元素数目];装订线22、如何创建一个二维数组变量?创建二维数组的格式为:new 数组元素类型[行数][列数];23、常用的数学运算符的计算?+ - * % /+加法-减法*乘法%取余/除法24、boolean 的两种可能的值是什么?true false25、逻辑量的取值是什么?true false26、所有类的父类是什么?一般需要在定义子类的时候加上 extends Object 吗?Object 不需要,计算机默认了27、continue和break的区别?break语句在Java语言中,break语句可以应用在switch、while、do...while和for语句中,用于控制程序执行流程的转移。
它有两种使用格式,一种不带标签;另一种带标签。
Continue语句与 break语句对应,continue语句也有带标签与不带标签两种使用格式。
continue语句只要应用在循环流程控制结构的语句中,用以提前结束本次的循环,提早进入下一次循环。
28、什么是多态性?将同一个消息发送给不同的类对象,可能会得到完全不同的相应效果,称此现象为多态性。