final 修饰符
更新:2007 年 11 月
声明类不能扩展或者方法或属性不能重写。
final statement
参数
- statement
必选。类、方法或属性定义。
备注
final 修饰符用于指定类不能扩展或者方法或属性不能重写。它将防止其他类通过重写重要的函数来更改该类的行为。带有 final 修饰符的方法可以由派生类中的方法来隐藏或重载。
类中的方法和属性以及类可以使用 final 修饰符来标记。接口、字段和接口的成员不能采用 final 修饰符。
不能将 final 修饰符与其他继承修饰符 (abstract) 组合。默认情况下,类成员既不是 abstract 也不是 final。继承修饰符不能与 static 修饰符组合。
示例
下面的示例阐释 final 修饰符的用法。final 修饰符防止基类方法被派生类中的方法重写。
class CBase {
final function methodA() { print("Final methodA of CBase.") };
function methodB() { print("Non-final methodB of CBase.") };
}
class CDerived extends CBase {
function methodA() { print("methodA of CDerived.") };
function methodB() { print("methodB of CDerived.") };
}
var baseInstance : CBase = new CDerived;
baseInstance.methodA();
baseInstance.methodB();
该程序的输出显示 final 方法未被重写:
Final methodA of CBase.
methodB of CDerived.