《面向对象编程和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>
[< 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<
带符号右移
– "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>*
}
接口用法总结:
通过接口可以实现不相关类的相同行为,而不需要考虑这些类之间的层次关系。
通过接口可以指明多个类需要实现的方法。
通过接口可以了解对象的交互界面,而不需了解对象所对应的类。