final 修饰符

声明类不能扩展或者方法或属性不能重写。

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.

要求

.NET 版本

请参见

参考

abstract 修饰符

hide 修饰符

override 修饰符

var 语句

function 语句

class 语句

概念

变量和常量的范围

type 批注

其他资源

修饰符