Marking a type as final
means that it can never have subtypes.
For example, given:
final class Foo
Then the following can’t compile:
class Bar extends Foo
// error: illegal inheritance from final class Foo
// class Bar extends Foo
// ^^^