java复习大纲

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《面向对象编程和JAVA语言》期末复习纲要
1.SUN以J2EE为核心推出SUN-ONE(SUN Open Network Environment)战略,该战略包括哪三个部分?
J2SE JSME J2EE
2.Java 程序哪两大类,各有什么特点,如何执行?
⏹Java Application
以main()方法作为程序入口,由Java解释器加载执行。

⏹Java Applet
没有main()方法作为程序入口,由浏览器或appletviewer加载执行。

3.Java的设计目标?
创建一种面向对象的程序设计语言;
提供程序运行的解释环境,使程序代码独立于平台;
吸收C和C++的优点,使程序员容易掌握;
去掉C和C++中影响程序健壮性的部分,如指针、内存申请和释放、无条件转移语句等;
提供多线程机制;
提供动态下载程序代码的机制;
提供代码检验机制以保证安全性;
4.Java三种核心机制?
Java 虚拟机(Java Virtual Machine)
垃圾收集机制(Garbage collection)
代码安全性检测(Code Security)
5.Java应用程序运行机制?
计算机的高级编程语言类型:
a)编译型
b)解释型
Java 语言是两种类型的结合;
Java源程序、字节码文件,机器码指令;
6.软件开发的六个阶段。

需求分析(what to do)
系统设计 (how to do)
编码实现(lets do)
测试阶段(alpha version)
反复阶段(bata version)
系统维护(maintainance)
7.对象的创建和使用。

使用new +构造方法创建一个新的对象;
使用“对象名.对象成员”的方式访问对象成员(包括属性和方法);
8.构造方法的特点。

功能:创建其所属类型的一个新的对象。

语法格式:
< modifiers> <class_name>([< argu_list>]) {
[< statements>]
9.Java 注释和Java 分隔符
// 单行注释----注释到行尾
/* 单行或多行注释 */
/** 可以用于文档化处理的单行或多行注释 */
▪Java分隔符组成:
分号--“;”、花括号--“{}”、空格--“”
▪Java分隔符作用:
–Java语句必须以分号作为结束标记
–Java允许用花括号“{}”将一组语句括起来,形成一个语句块(block)
–Java程序源代码中各组成部分之间可以插入任意数量的空格,包括换行。

10.使用变量的注意事项?
变量命名不能重复
Java区分大小写
变量必须先定义,再使用
a)只有定义过,才能为其分配相应数量的存储单元
b)一旦定义,变量类型才能确定,才能检查其运算的合法性
11.关键字
Java中一些赋以特定的含义、并用做专门用途的单词称为关键字(keyword)
所有Java关键字都是小写的,TURE、FALSE、NULL等都不是Java关键字;
goto和const 虽然从未使用,但也作被为Java关键字保留;
true,false,null虽被用做专门用途,但不是Java关键字;
12.Java基本数据类型
Java中定义了四类/八种基本数据类型
a)逻辑型---- boolean
b)文本型---- char
c)整数型---- byte, short, int, long
d)浮点数型---- float, double
13.对象的构造和初始化
为引用类型变量分配引用空间 MyDate m;
创建新对象--首先为新对象分配内存空间,并进行属性(实例变量)的默认初始化
new MyDate(22, 9, 2001);
Java引用类型成员变量默认初始化原则
进行属性(成员变量)的显式初始化,显式初始化取值来自于类的定义中属性声明部分private int day = 12;
private int month = 6;
private int year = 1900;
执行构造方法
public Mydate(int y, int m, int d) {
year = y;
month = m;
day = d;
}
14.String 类以及String类提供的常用方法:substring,indexOf,length(),lastIndexOf。

掌握:
统计某字符的个数,取某字符前面的字符串
15.逻辑运算符移位运算符
短路逻辑运算符应用
&& -- 第一个操作数为假则不判断第二个操作数
|| -- 第一个操作数为真则不判断第二个操作数
位运算符功能
~ -- 取反& -- 按位与 | -- 按位或^ -- 按位异或
▪左移
–“a<<b; ”将二进制形式的a逐位左移b位,最低位空出的b位补0;
▪带符号右移
–"a>>b; "将二进制形式的a逐位右移b位,最高位空出的b位补原来的符号位;
▪无符号右移
–"a>>>b;"将二进制形式的a逐位右移b位,最高位空出的b位补0。

▪移位运算符性质
适用数据类型:byte、short、char、int、long,对低于int型的操作数将先自动转换为int型再移位
16.三目运算符
三目条件运算符,语法格式:
x ? y : z
其中x为boolean类型表达式,先计算x的值,若为true,则整个三目运算的结果为表达式y的值,否则整个运算结果为表达式z的值。

17.switch语句有关规则
表达式expr的返回值必须是下述几种类型之一:int, byte, char, short;
case子句中的值constan 必须是常量,且所有case子句中的值应是不同的;
default子句是任选的;
break语句用来在执行完一个case分支后使程序跳出switch语句块;
18.数组的概念以及声明,比如:int a[5] 是非法的!int t1[][] = new int [][4]; //非法
19.类的继承重载的概念
▪类继承语法规则:
< modifier> class < name> [extends < superclass>] {
< declarations>*
}
Object类是所有Java类的最高层父类
Java只支持单继承,不允许多重继承
–一个子类只能有一个父类
–一个父类可以继承出多个子类
▪在子类中可以根据需要对从父类中继承来的方法进行改造----方法的重写
重写方法必须和被重写方法具有相同的方法名称、参数列表和返回值类型
重写方法不能使用比被重写方法更严格的访问权限
20.访问控制关键字super 多态性
可以对Java类中定义的属性和方法进行访问控制----规定不同的保护等级:
在Java类中使用super来引用父类的成分
a)super可用于访问父类中定义的属性
b)super可用于调用父类中定义的成员方法
c)super可用于在子类构造方法中调用父类的构造方法
d)super的追溯不仅于直接父类
▪多态----在Java中,父类对象的指针可以指向它的所有继承类。

▪一个对象只能有一种确定的数据类型
▪一个引用类型变量可能指向(引用)多种不同类型的对象
▪一个引用类型变量如果声明为父类的类型,但实际引用的是子类对象,那么该变量就不能再访问子类中添加的属性和方法
21.编译时类型和运行时类型编译时多态——重载来实现运行时多态——虚方法来调用
22.封装类
23.静态初始化
在类的定义体中、方法的外部可包含static语句块
static语句块仅在其所属的类被载入时执行一次
static块通常用于初始化化static (类)属性
24.抽象类(abstract class) 接口
用abstract关键字来修饰一个类时,这个类叫做抽象类;用abstract来修饰一个方法时,该方法叫做抽象方法。

含有抽象方法的类必须被声明为抽象类,抽象类必须被继承,抽象方法必须被重写。

抽象类不能被实例化。

抽象方法只需声明,而不需实现。

▪接口(interface)是抽象方法和常量值的定义的集合。

▪从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现。

▪多个无关的类可以实现同一个接口
▪一个类可以实现多个无关的接口
▪与继承关系类似,接口与实现类之间存在多态性
▪定义Java类的语法格式:
< modifier> class < name> [extends < superclass>]
[implements < interface> [,< interface>]* ] {
< declarations>*
}
接口用法总结:
▪通过接口可以实现不相关类的相同行为,而不需要考虑这些类之间的层次关系。

▪通过接口可以指明多个类需要实现的方法。

▪通过接口可以了解对象的交互界面,而不需了解对象所对应的类。

25.Java异常
Java程序运行过程中所发生的异常事件可分为两类:
▪错误(Error):JVM系统内部错误、资源耗尽等严重情况
▪违例(Exception): 其它因编程错误或偶然的外在因素导致的一般性问题,例如:
–对负数开平方根
–空指针访问
–试图读取不存在的文件
–网络连接中断
26.异常处理机制——Throw和Throws的用法。

Java程序的执行过程中如出现异常,会自动生成一个异常类对象,该异常对象将被提交给Java运行时系统,这个过程称为抛出(throw)异常。

27.Math类 String 类 StringBuffer类
▪Math类中定义了多个static方法提供常用数学运算功能
–截断操作(Truncation): ceil, floor, round
–取最大、最小及绝对值: max, min, abs
–三角函数: sin, cos, tan, asin, acos, atan, toDegrees, toRadians
–对数运算: log , exp
–其它: sqrt, pow, random
–常量: PI, E
String 类对象保存不可修改的Unicode字符序列
String类的下述方法能创建并返回一个新的String对象: concat, replace, substring, toLowerCase, toUpperCase, trim.
提供查找功能的有关方法: endsWith, startsWith, indexOf,,lastIndexOf.
提供比较功能的方法: equals, equalsIgnoreCase, compareTo.
其它方法: charAt ,length.
▪StringBuffer类对象保存可修改的Unicode字符序列
▪构造方法
–StringBuffer()
–StringBuffer(int capacity)
–StringBuffer(String initialString)
–实现修改操作的方法:
–append, insert, reverse, setCharAt, setLength.
28.Set 接口和List接口的区别
a)Set: Collection的子接口,不记录元素的保存顺序,且不允许有重复元素
b)List: Collection的子接口,记录元素的保存顺序,且允许有重复元素
29.布局管理器及其使用
为了使我们生成的图形用户界面具有良好的平台无关性,Java语言中,提供了布局管理器这个工具
来管理组件在容器中的布局,而不使用直接设置组件位置和大小的方式。

每个容器都有一个布局管理器,当容器需要对某个组件进行定位或判断其大小尺寸时,就会调用其对应的布局管理器。

5种容器布局:
FlowLayout
BorderLayout
GridLayout
CardLayout
GridBagLayout
30.事件源、事件监听器、事件类型
事件(Event) –一个对象,它描述了发生什么事情
事件源(Event source) –产生事件的组件
如果关注某个组件产生的事件,则可以在该组件上注册适当的事件处理方法,实际上注册的事件处理者方法所属类型的一个对象----事件监听器
31.如何创建菜单
首先创建一个MenuBar对象,并将其置于一个可容纳菜单的容器(如Frame对象)中。

创建一个或多个Menu对象,并将它们添加到先前创建的MenuBar对象中。

创建一个或多个MenuItem对象,再将其加入到各Menu对象中
32.Socket通信模型
33.线程的Sleep方法
34.Synchronize关键字
a)关键字synchronized 来与对象的互斥锁联系。

当某个对象用synchronized修饰时,表明该
对象在任一时刻只能由一个线程访问。

35.创建线程的两种方法
▪使用Runnable接口
可以将CPU,代码和数据分开,形成清晰的模型;
还可以从其他类继承;
保持程序风格的一致性。

▪直接继承Thread类
不能再从其他类继承;
编写简单,可以直接操纵线程,无需使用Thread.currentThread()。

相关文档
最新文档