考试题型:填空题(30分),单选题(2*8),问答题(5*4),程序阅读,改错题(5*4),编程题(14)第一章P5JAVA文件的命名方式由一个或多个扩展名为“.java”的文件组成。P8编译和运行java程序的流程第二章习题册P5-P8习题1.4-1.17;P9-10:1.22、1.23、1.24;P15:1.2、1.3P24标识符的命名规则以字母开头的字母数字序列。(1)数字0~9,大小写英文字母,下划线,美元符($),也可以是Unicode字符集中的字符,如汉字等(2)字母、数字等任意组合,不能包含其他字符。例如:不能有+、-等。(3)区分字母大小写(4)不能使用关键字(5)长度不受限制例如:abc、i、x1、x_2、sum都是标识符,1x、x+y、R[1]、k*不是,而VALUE、Value、value是不同的标识符。Java语言约定,关键字、变量、对象、方法、包等名字通常全部字母小写;由多个单词构成的标识符,首字母小写,其后单词首字母大写,如toString;类名首字母大写;常量名全部字母大写。P28变量的申明,各种类型数据的表示范围变量声明格式:如:inti=0,j=0;[修饰符]数据类型变量[=表达式]{,变量[=表达式]}声明一个变量,系统将为该变量分配内存单元,内存单元大小取决该变量的数据类型;可在声明时对变量进行初始化;同一作用域的标识符只能被声明一次,不能重复声明。P29运算符与表达式:习题1.4-1.17P52数组的定义方法、引用模型(引用赋值)、维数表示(第一维、第二维的表示),不规则二维数组的表示(大)定义方法:inta[];或int[]a;引用赋值:数组是引用数据类型,例如:inta[]={1,2,3,4,5},b[];b=a;//引用赋值,数组变量赋值,传递引用b[1]=10;//a[1]==10b=newint[4];//b重新申请数组空间,a==b为falseb=null;//释放数组占用的存储空间二维数组:intmat[][]=newint[2][3];//声明和申请存储空间intmat[][]={{1,2,3},{4,5,6}};//声明时赋初值不规则二维数组:intmat[][];mat=newint[2][];//申请第一维存储空间mat[0]=newint[2];//申请第二维存储空间mat[1]=newint[3];P62string类型数据的定义形式,string类常用方法表2-9(charAt,substring)第三章习题册:P31-32:2.5、2.8、2.9,P34-35:1.3、1.4、1.7、1.8;P36:1.12、1.13、1.16、1.17、1.18P73类的构造方法的定义的形式,main()方法的申明形式构造方法用于创建类的一个实例并对实例的成员变量进行初始化。构造方法与类中成员方法不同之处是:构造方法与类同名;构造方法通过new运算符调用。默认构造方法:当一个类没声明构造方法时,Java自动为该类提供一个无参数的默认构造方法,对各成员变量按其数据类型进行初始化。一个类需要声明默认构造方法为成员赋默认值。P74this功能,三大用途(大)(1)指代对象本身。用于指代调用成员方法的当前对象自身。格式:this(2)访问本类的成员变量和成员方法。引用当前对象的成员变量,调用当前对象的成员方法。this.成员变量this.成员方法([参数列表])(3)调用本类重载的构造方法。this([参数列表])P75java类与成员的访问权限2种访问控制权限:公有和缺省(1)private声明私有成员,仅能被当前类的成员访问(2)没有修饰符表示缺省权限,说明该成员能被当前类以及当前包中的其他类访问,也称在当前包中可见。(3)protected声明保护成员,该成员能被当前类及其子类、或当前包中的其他类访问,也称在子类中可见。(4)public声明公有成员,可被所有类访问。权限修饰符当前类当前包其他包的子类所有类private(私有)√缺省√√protected(保护)√√√public(公有)√√√√P76static的用途(可以修饰什么、不可修饰什么不能申明方法的局部变量为static)静态成员属于类,即使没有创建实例,也可以通过类名直接访问静态成员变量和调用静态成员方法。在类内部,可直接访问静态成员,省略类名,静态成员也可以通过对象引用。在静态成员方法体中,不能访问实例成员,不能使用this引用。在Java中,不能声明方法的局部变量为static。在声明时,可对静态成员变量赋初值,也可使用static声明静态初始化块,对静态成员变量进行初始化,格式如下,其中只能访问类中的静态成员,且不能引发检测性异常,并在类加载时执行。static//静态初始化块{静态成员变量初始化;}P87子类对父类成员的访问权限问题(1)不能访问父类的私有成员(private)(2)能访问父类的公有成员(public)和保护成员(protected)(3)子类对父类的缺省权限成员的访问控制,以包为界分为两种情况:可以访问当前包中父类的缺省权限成员,不能访问其他包中父类的缺省权限成员。P87super()的用途用法(大)调用父类的构造方法。格式:super([参数列表])在以下两种情况下,Java默认执行super(),调用父类的构造方法。(1)当一个类没有声明构造方法时,Java为该类提供默认构造方法,调用super()执行父类无参数的构造方法。(2)如果子类的构造方法没有调用super()或this(),Java将默认执行super()P93父类对象引用子类实例问题子类对象即是父类对象,表现为父类与子类之间具有赋值相容性,即父类对象能够引用子类实例,反之不行。例如:Personp=newStudent();//赋值相容,子类对象即是父类对象Students=newPerson();//语法错,赋值不相容,父类对象不是子类对象再扩展到Object类,由于所有类都是Object的子类,所以一个Object对象能够引用任何类的实例。例如:Objectobj=newPerson();//赋值相容,子类对象即是父类对象即是性质也表现在方法调用的参数传递过程中。P93-94编译时多态和运行时多态(大)P94-95多态的equals()方法、equals方法的定义声明如下,比较两个对象是否相等。P98abstract的用途声明抽象类与抽象方法。抽象类用于描述抽象概念,其中声明的抽象方法为多个子类约定方法声明,每个子类根据自身的实际情况,给出抽象方法的具体实现,显然不同的子类可以有不同的方法实现。因此,一个抽象方法在多个子类中表现出多态性。抽象方法提供方法声明与方法实现的分离机制,使抽象类的多个子类能够实现出共同的行为能力。P101final的用途声明最终类,最终方法。最终类不能被继承;最终方法不能被子类覆盖。最终类中包含的都是最终方法,非最终类也可以包含最终方法。第四章习题册P45-46:1.1、1.2;P46:1.1、1.4、1.5P106接口的定义形式、接口的基本性质、继承规则用关键字implements声明一个类将实现指定接口,格式:[修饰符]class类泛型[extends父类][implements接口列表]一个类可以实现多个接口,实现接口的非抽象类必须实现(覆盖)所有指定接口中的所有抽象方法,方法的参数列表必须相同;否则,该类型必须声明为抽象类。一个接口可以有多个父接口。P115java默认包、Object类为java中所有类的父类、且在lang包中P116Comparable接口的定义、功能,CompareTo()方法的功能(大)Comparable接口声明一个比较两个对象大小的compareTo()方法,声明如下:publicinterfaceComparableT{intcompareTo(Tobj)}MyDate类也可将compareTo(d)方法实现为返回两个日期相距的天数。只要实现Comparable接口的类的两个对象才能比较大小。P121获得当前日期的年份、月份thisYear=Calendar.getInstance().get(Calendar.YEAR);//获得当前日期对象中的年份值第五章习题册:P52:2.1、2.2、P128为何异常处理、如何异常处理,能解决哪些问题,不能解决哪些问题(大)P132try{}catch(){}finally{}语句的应用(大)用来捕获和处理一个或多个异常。catch语句可以有多个,finally子句可省略。try子句包括可能产生异常的语句序列;catch子句用于捕获并处理。两者都将执行finally子句。第六章P146几种容器默认布局管理器FlowLayout流布局管理器:从左至右排序、一行一行排列;BorderLayout边布局管理器:划分为5个区域(东南西北和中间);GridLayout网格布局管理器:从左到右、从上到下;如果组件数多于网格数,将自动增加网格。P150Windowlisrener的用途用法注册和取消窗口事件:add/removeWindowListenerP165JoptionPane的用途用法、确认对话框各按钮的返回值定制多钟形式的标准对话框,如消息、确认和输入等。“是”返回0,“否”返回1,“取消”返回2。P179绘制图形用的方法:paint()paint()方法和普通方法不同,太是由系统自动执行。当创建一个组件对象时,系统自动执行该组件的paint()方法,绘制特定图形。因为,一个类如果需要在组件上绘图,则该类必须声明为继承某个Java组件类,并且覆盖paint()方法,否则系统不能自动执行paint()方法。第七章习题册:P67-68:1.1、1.2、1.7P191thread和runnable的定义、用法,run()和start()方法的用途与含义P197多线程实现动画:例7.3run()、start()、sleep()(大);定时器实现动画:启动定时启动方法、响应定时器方法、定时器停止方法(大)P200线程对象的优先级设置方法、获得方法及优先级范围publicfinalintgetPriority()//获得线程优先级publicfinalvoidsetPriority(intnewPriority)//设置线程优先级10个等级的线程优先级,分别用1~10表示,最低为1,默认为5。P204多线程同步问题,何为交互线程,何为线程互斥与同步,如何使用线程互斥与同步机制怎样保证交互线程对共享变量操作的正确性,不产生与时间有关的错误。多线程共享变量时会发生什么问题,何时采用线程同步,怎么保证对共享变量的访问正确性,同步使用的关键字(大)P214java的线程通信方法,功能是啥,用于什么地方(大)publicfinalvoidwait()throwsInterruptedException//等待publicfinalnativevoidwait(longtimeout)throwsInterruptedException;//等待指定时间publicfinalnativevoidnotify();//唤醒一个等待线程publicfinalnativevoidnotifyAll();//唤醒所有等待线程这些方法可以被任意类的对象调用,并申明为最终方法,不能被子类覆盖。一个对象调用wait()方法使当前执行线程变为等待状态,直到其他线程调用notify()或notifyAll()方法通知当前线程才停止等待,该线程被唤醒。第八章P227applet例8.1,applet的运行方式:嵌入浏览器嵌入Applet的Web页存储在远程Web处理器上,当用户在客户机上通过浏览器请求查看一个Web页时,Web服务器将该网页的超文本文档下载到本地计算机,超文本由浏览器解释执行,而嵌入在超文本中的Applet由浏览器中的Java解释器解释执行。So,Applet是由客户端浏览器解释执行的Web应用程序。第九章P239