final keyword can be used on class fields with the following effects:
final function ...to make a function non-overridable in subclasses.
final x = ...to declare a constant that must be initialized immediately or in the constructor and cannot be written to.
inline final x = ...is the same but inlines the value wherever it is used. Only constant values can be assigned.
static final fields must be initialized immediately by providing an expression. If a class has non-static
final variables which are not initialized immediately, it requires a constructor which has to assign values to all such fields.
final does not affect visibility and it is not supported on properties.