JAVA复习大纲Word文档下载推荐.docx
《JAVA复习大纲Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《JAVA复习大纲Word文档下载推荐.docx(19页珍藏版)》请在冰豆网上搜索。
解释执行
高性能
多线程
动态性
第2章
1、标识符和保留字
(1)注意标识符的命名规则
(2)见书本上Java语言的保留字
2、数据类型
基本数据类型(整数型、浮点数型、字符型、布尔型)和复合数据类型
3、运算符和表达式
注意运算符的优先级
4、Java的常见输入输出:
(1)标准输入输出:
System.out
System.in
System,err
(2)图形界面的输入输出:
javax.swing.JOptionPane
5、Java流程控制语句:
顺序、分支(if/else,switch)、循环(while,for)
6、数组:
(1)简单数据类型数组的创建
(2)复杂数据类型数组的创建
第3章
1、String字符串常量
在Java中,没有内置的字符串类型,字符串常量是作为String类的对象存在的。
创建String类对象
String类的对象表示的是字符串常量,一个字符串常量创建以后就不能够被修改了。
所以在创建String类对象时,通常需要向构造函数传递参数来指定创建的字符串的内容。
以下是常用的String类构造函数:
见书P35表3-1
(1)publicString()
该构造函数用于创建一个空的字符串常量。
(2)publicString(Stringvalue)
该构造函数用于根据一个已经存在的字符串常量来创建一个新的字符串常量,该字符串的内容和已经存在的字符串常量一致。
注意:
String类的基本的方法。
2、StringBuffer字符串变量
创建StringBuffer类对象
StringBuffer类对象表示的是字符串变量,每一个StringBuffer类对象都是可以扩充和修改的字符串变量。
以下是常用的StringBuffer类构造函数:
(1)publicStringBuffer()
创建一个新的空的StringBuffer类的对象,其容量初值设置成16个字符
(2)publicStringBuffer(intlength)
创建一个新的空的StringBuffer类的对象,其容量初值设置成length个字符
(3)publicStringBuffer(Stringstr)
创建一个新的StringBuffer类的对象,其内容为str的内容,容量设置成str长度再加16个字符
该类的常用的方法,append(),insert()等。
3、字符数组和字符串:
其实在有些编程语言中,比如C语言,其字符串就是由字符数组构成的,每个字符串的结尾用“\0”标志,但是在Java中却不是这样的。
在Java中,字符串通常是作为String类的对象存在着,如:
Strings=“IlikeJava!
”,其中“IlikeJava!
”就是一个对象。
所以说,Java中的字符串和字符数组是完全不相同的,和C语言中的字符串也是不一样的!
第4章
1、类
(1)类的基本定义方法如下:
[修饰符]class类名[extends父类][implements接口名]
{
类成员变量声明
类方法声明
}
(2)类的访问控制:
public和默认访问方式
(3)类的成员:
1)Java中声明类属性语法如下:
[修饰符]变量类型变量名[=变量初值];
2)Java中声明方法的语法如下:
[修饰符]返回值类型方法名(参数列表)
throws例外名1,例外名2,…
{方法体:
局部变量声明;
语句序列;
3)成员访问控制:
Public,private,protected,默认访问方式
4)类静态成员:
访问方式:
类.静态成员;
对象.静态成员
5)本地方法:
Native
2、包:
创建、命名、应用(import)
3、构造方法:
一种用于对象初始化的特殊的方法,和对象同名,没有返回值
(1)默认构造方法:
无参的构造方法。
(2)重载构造方法:
定义具有不同参数性质的构造方法
注意:
构造方法的特点!
4、this关键字:
This关键字的用法:
(1)访问对象成员
(2)实现在构造方法内部调用其他构造方法
5、finalize()方法:
Java语言默认的清除机制;
其用途
6、嵌套类:
静态嵌套类:
有static关键字,外部类的所有成员可以共享该静态嵌套类
内部类:
内部类必须和外部类的实例关联,通过外部类的对象创建内部类的对象实例。
7、final类:
该类不能被继承,没有子类,是最终类。
第5章
1、继承
继承性是软件复用的一种形式。
新类由已存在的类生成,通过保留它们的属性和行为,并且根据新类的要求对性能加以修改,添加新的属性和行为。
如果子类只从一个父类继承,则称为单继承;
如果子类从一个以上父类继承,则称为多继承。
注意Java不支持多重继承,但它支持“接口”概念。
接口使Java获得了多重继承的许多优点,摒弃了相应的缺点。
继承的实现:
Claas子类名extends父类名{
类体;
2、抽象类
(1)抽象方法:
Abstract返回值类型方法名(参数列表);
(2)抽象类:
Abstractclass抽象类名{
类体;
3、多态性
实现多态性的三种形式:
(1)方法的重载
(2)通过继承机制而产生方法覆盖
(3)通过接口实现的方法覆盖
4、接口
为外界提供运算,而不揭示这些运算的结构或具体的实现内容
定义:
[public]interface接口名[extends父接口名表]{
接口体
实现:
Class类名implements接口名表{
类体
第6章
1.List接口和ArrayList类
了解List接口中的一些方法的功能(P90);
ArrayList的三个构造函数
1 ArrayList()
2 ArrayList(Collectionc)
3 ArrayList(intinitialCapacity)
2.LinkedList类
1 LinkedList类也实现List接口,与ArrayList类类似,当只在线性表尾进行插入和删除元素的操作时,选择ArrayList的效率会高些,若要在任意位置插入或者删除元素时,LinkedList类声明的数组效率会高些。
2 LinkedList提供的两个构造函数:
LinkedList()LinkedList(Collectionc)
3.Set和HashSet类
1 Set接口扩展了Collection接口,与List接口不同的是,Set定义的集合中不能包含相同的元素。
HashSet类实现了Set接口,它存放的元素没有顺序
2 HashSet提供的四个构造函数:
HashSet()HashSet(Collectionc)HashSet(intinitiaCapacity)HashSet(intinitiaCapacity,floatloadFactor)
4.Map和HashMap类
1 Map接口用于存储元素和关键字的映射关系,在Map中的关键字必须是唯一的,不能有重复。
2 注意书上p94的Map接口中定义的方法。
3 HashMap类实现了Map接口。
4 HashMap的四个构造函数:
HashMap()HashMap(Mapm)HashMap(intinitialCapaticy)HashMap(intinitialCapaticy,floatloadFactor)
5.Vector类和Stack类
1 Vector类和ArrayList类似,也实现了List接口,可以用来声明动态数组。
但与ArrayList不同的是,Vector中包含了同步方法,可以防止两个以上线程同时访问引起的数据冲突。
2 Vector类中定义了四个构造函数
Vector()Vector(Collectionc)Vector(intinitialCapacity)Vector(intinitialCapacity,intcapacityIncrement)
3 Stack类是Vector类的子类,它实现后进先出的堆栈,由于Stack类扩展了Vector类,所以Stack类除了包含Vector定义的所有方法外,还增加了几种自定义的方法,见书上P98.
6.泛型
1 ArrayList<
String>
arraylist=newArrayList<
(),这样定义之后就只能在arraylist这个对象中插入String类型的元素。
7.Applet小应用程序
这一节主要是注意一些基本概念和小应用程序的格式。
第8章
1.JAVA的基础类
JAVA基础类是有如下类库构成的
1 抽象窗口工具集AWT
2 Swing组件
3 支持剪贴板的数据传送
4 Java2D,高级图形图像处理
5 服务残疾人的辅助应用接口
2.Swing的常用组件
1 JFrameJFrame()JFrame(Stringtitle)
2 JLabel
JLabel()JLabel(Iconimage)JLabel(Stringtext)JLabel(Stringtext,inthorizontalAlignment)JLabel(Stringtext,Iconimage,inthorizontalAlignment)
其中对其方式有SwingConstants.LEFT,SwingConstants.RIGHT,
SwingConstants.CENTER,SwingConstants.LEADING,SwingConstants.TRAILING,
3 JTextField和JPasswordField
JTextField(),JTextField(Stringtext)JTextField(Stringtext,intcolumns)
JPasswordField()JPasswordField(Stringtext)JPasswordField(Stringtext,intcolumns)JPasswordField(intcolumns)
4 文本区JTextArea
JTextArea()创建一个空的文本区
JTextArea(introws,intcolumns)创建一个指定行数和列数的文本区
JTextArea(Stringtext)创建一个具有初始显示内容的文本区
JTextArea(Stringtext,introws,intcolumns)创建一个指定函数和列数具有初始文本信息的文本区
5 按钮JButton
JButton()创建一个空的按钮
JButton(Stringtext)创建一个具有文本提示的按钮
JButton(Iconimage)创建一个具有图标提示的按钮
JButton(Stringtext,Iconicon)创建一个具有文本和图标的按钮
6 复选框和单选框JCheckBox和JRadioButton
JCheckBox()创建一个无文本图标的未选复选框
JCheckBox(Iconicon)
JCheckBox(Iconicon,booleanselected)创建一个指定图标和状态的复选框
JCheckBox(Stringtext)创建一个指定文本信息的复选框
JCheckBox(Stringtext,Iconicon)创建一个指定文本和图标的复选框
JCheckBox(Stringtext,Iconicon,booleanselected)创建一个指定文本图标和状态的复选框
7 组合框JComboBox
JComboBox()
JComboBox(ComnoBoxModelaModel)
JComboBox(Object[]items)
8 列表JList
JList()创建一个空模型的列表
JList(ListModeldataModel)创建一个指定模型的列表
JList(Object[]listdatas)创建一个具有数组指定项目内容的列表
9 面板JPanel
JPanel()创建具有双缓冲和流布局(FlowLayout)的面板
JPanel(LayoutManagerlayout)创建具有指定布局管理器的面板
10 布局管理器
容器组件中可以放置多个组件,使用布局管理器可以确定这些组件的位置和大小
每一个容器组件都有一个默认的布局管理器,也可以通过setLayout方法来设置其他布局管理器
布局管理器:
FlowLayout、BorderLayout、GridLayout、GridBagLayout、CardLayout、null
FlowLayout布局管理器
FlowLayout布局管理是一种最简单的布局管理方法,是Panel的默认布局
它以流式的方式,即组件按每行先后自左向右放置,一行放不下时再换行
FlowLayout的默认对齐方式为居中对齐
构造函数:
①FlowLayout():
创建默认的FlowLayout布局管理器。
②FlowLayout(int):
以指定的对齐方式创建FlowLayout布局管理器。
其中的参数有FlowLayout.LEFT(左对齐)、FlowLayout.RIGHT(右对齐)、FlowLayout.CENTER(居中对齐)。
③FlowLayout(int,int,int):
以指定的对齐方式及间距创建FlowLayout布局管理器。
其中第一个参数为对齐方式,第二个参数为组件间间距,第三个参数为列间距。
BorderLayout布局管理器
BorderLayout是Frame和Dialog的默认布局
它将整个容器的区域分为东、西、南、北、中五个部分加入组件时,需指明放置的位置。
构造函数
①BorderLayout():
创建默认的BorderLayout。
②BorderLayout(int,int):
以指定的行间距和列间距创建BorderLayout。
GridLayout
GridLayout布局将容器区域划分成m行*n列,大小相等的格子,而容器中的组件就放入这些格子中,占用大小完全相同的一格。
构造函数:
①GridLayout():
创建默认的GridLayout布局,所有组件在一行中显示。
②GridLayout(int,int):
按指定行数和列数创建GridLayout布局。
③GridLayout(int,int,int,int):
按指定行数、列数、行间距和列间距创建GridLayout布局。
第9章
1.事件
事件处理的三要素。
(1)事件源事件源是一个事件的产生者,如按钮、窗口及文本域等。
(2)事件类型Java中所有的事件都封装成一个类,这些事件类被集中在java.awt.event包,所有的事件类均继承了AWTEvent类和一个方法——getSouce()方法,该方法返回发生事件的对象。
(3)事件监听器不同的类型事件发生后,由事件监听器接收事件并调用相应的事件处理方法。
所有的事件监听器实际上都是一个java.awt.event包中的接口,引入了java.util.EventListener接口。
不同事件类型的监听器具有不同的方法。
2.事件处理步骤
①程序加入java.awt.event包:
Importjava.awt.event;
②给所需的事件源对象注册事件监听器:
事件源对象.addXXXListener(XXXListener);
③实现相应的方法。
如果某个监听器接口包含多个方法,则需要实现所有的方法
4、事件Adapters(适配器)
实现每个Listener接口的所有方法的工作量是非常大的,为了方便起见,Java语言提供了Adapters类,用来实现含有多个方法的类。
3.鼠标事件对应的事件类是MouseEvent类
MouseEvent类中方法:
getX()获取鼠标的X坐标
getY()获取鼠标的Y坐标
getPoint()获取鼠标的位置
鼠标事件对应的事件监听器有两个:
MouseListener(或者MouseAdapter)对应鼠标事件,MouseMotionListener(或者MouseMotionAdapter)对应鼠标移动事件。
MouseListener(或者MouseAdapter)的主要方法
MousePressed(MouseEvente)鼠标按下时的处理方法
MouseReleased(MouseEvente)鼠标释放时的处理方法
MouseEntered(MouseEvente)鼠标进入时的处理方法
MouseExited(MouseEvente)鼠标离开时的处理方法
MouseClicked(MouseEvente)鼠标点击时的处理方法
MouseMotionListener(或者MouseMotionAdapter)的主要方法
MouseMoved(MouseEvente)鼠标移动时的处理方法
MouseDraged(MouseEvente)鼠标拖动时的处理方法
在具有键盘焦点的组件中按下或释放键盘等操作时,都发生键盘事件
键盘事件对应的事件类是KeyEvent类
KeyEvent类主要方法:
getKeyCode()获得按下或释放的键代码
getKeyText()获得按下或释放的键的字符串
4.键盘事件对应的事件监听器为:
KeyListener或KeyAdapter
主要方法:
KeyPressed(KeyEvente)按下键盘时的处理方法
KeyReleased(KeyEvente)释放键盘时的处理方法
第10章
1.编译错误
编译错误是由于编写的程序存在语法问题,未能通过编译产生的,它由语言的编译系统负责检测和报告。
没有编译错误是一个程序能正常运行的基本条件,只有所有的编译错误都改正了,源代码才可以被成功地编译成目标码或字节码
2.运行错误
运行错误是在程序的运行过程中产生的错误。
根据性质不同
运行错误还可以分为系统运行错误和逻辑运行错误。
1)系统运行错误
系统运行错误是指程序在执行过程中引发了操作系统的问题
所以不排除系统错误,程序就不能正常地工作
2)逻辑运行错误
逻辑运行错误是指程序不能实现编程人员的设计意图和设计功能而产生的错误
Java的运行错误就是Java的异常。
3.异常和异常类
异常是一个对象,它继承自Throwable类,所有的Throwable类的子孙类所产生的对象都是例外.
每个异常类都代表了一种运行错误,
异常类中包含了该运行错误的信息和处理错误的方法等内容
Java的异常处理机制
每当Java程序运行过程中发生一个可识别的运行错误时,(即该错误有一个异常类与之相对应时),系统都会产生一个相应的该异常类的对象,即产生一个异常。
一旦一个异常对象产生了,系统中就一定要有相应的机制来处理它,确保不会产生死机、死循环或其他对操作系统的损害,从而保证了整个程序运行的安全性
Exception类
publicException();
publicException(Strings);
可以接受字符串参数传入的信息,该信息通常是对该异常所对应的错误的描述。
用户自定义的异常
对于某个应用所特有的运行错误,则需要编程人员根据程序的特殊逻辑在用户程序里自己创建用户自定义的异常类和异常对象
用户定义的异常通常采用Exception作为异常类的父类
4.异常的抛出
Java程序在运行时如果引发了一个可以识别的错误,就会产生一个与该错误相对应的异常类的对象,把这个过程叫做异常的抛出,
实际是相应异常类对象的实例的抛出。
根据异常类的不同,抛出异常的方式有系统自动抛出和用户抛出两种
1)系统自动抛出
所用的系统定义的运行错误异常都是由系统自动地抛出
2)用户通过语句抛出异常
用户自定义的异常不可能依靠系统自动抛出,而必须由用户用Java语句抛出,
在Java语句中,throw语句用来明确地抛出一个“异常”
3)用throw语句抛出的格式
返回类型方法名(参数列表)throws要抛出的异常类名列表{
…
throw异常类实例;
}
4)含有throw的语句的方法,应当在方法头定义中增加如下的部分:
throws要抛出的异常类名列表
这样做主要是为了通知欲调用这个方法的上层方法,准备接受和处理它在运行中可能会抛出的异常
如果方法中的throw语句不止一个,则应该在方法头throws中列出所有可能的异常
第11章
1.新建
当一个Thread类或其子类的对象被声明并创建时,新生的线程对象处于新建状态。
此时它已经有了相应的内存空间和其他资源,并已被初始化。
2.就绪
处于新建状态的线程被启动后,将进入线程队列排队等待CPU时间片,此时它已经具备了运行的条件,一旦轮到它来享用CPU资源时,就可以脱离创建它的主线程独立开始自己的生命周期