文档介绍:Java语言程序设计—Java高级特性
王卓峥
******@bjut.
1
Java高级特性
static关键词
final关键词
抽象类
接口
包
访问控制
内部类
其它类
2
static关键词
static
含义:静态的、
作用域:所属类
类变量/静态变量
所属类的所有实例变量中都可以访问
private
类方法/静态方法
3
静态初始化程序
语法
static{
…
}
[举例] P118 例5-3
4
final关键词
作用范围
类的声明:不能再派生子类
成员方法:不能被重写
成员变量:常量
[举例] P119 例5-4
5
抽象类
概念
包含一个或多个抽象方法
只有声明,没有方法体称为抽象方法
特点
abstract修饰
除了没有方法体,其它和class一样
不能创建抽象类实例
抽象类的子类可以创建实例(非抽象方法)
抽象类的含义
P121 图5-1
6
关于树状结构不足之处的例子
接口的引出-1
7
卡车、轮船、喷气机这些子类都以汽油为动力燃料
所以具有一些相同的属性和方法,如每公里耗油量、
剩余油量、加油操作、获取剩余油量等
为使程序简洁,可把这些公共属性和方法放在父类
交通工具中,然后由子类、子类的子类继承
但必将产生一个问题:自行车等非燃油交通工具子类也
继承了这些属性和方法,这很不合理
另外,子类层次越下,继承的无效的方法越多,
难以管理和掌握
接口的引出-2
8
解决方法
把用于完成特定功能的若干属性和方法组织成相对独立的集合,凡是需要实现这种特定功能的类,都可以继承该集合,并在类内使用它。
上述集合就是接口。
在上面的例子中,可以定义一个用来完成燃油功能的接口“可燃油的”包含相关属性功能,卡车、轮船、喷气机这些类均可以通过实现该接口来拥有燃油功能。
接口的引出-3
9
接口的引出-4
10