# Final Keyword > > The common characteristic of the final keyword is that attaching it means restricting something >
### Final Class - Other classes `cannot inherit` from it - The String class is also final! - Attempting to inherit the String class will cause an error
### Final Method - Other methods `cannot override` it - The method can no longer be modified - It prevents the method from being modified while extending to sub-classes - It is a method that cannot be redefined in child classes, preventing child classes from changing the behavior of the parent class's method - This helps maintain program consistency and prevent bugs!
### Final Variable - It becomes a `constant value` that does not change and cannot be reassigned - Since it cannot be modified, an initial value is mandatory - However, if it is a variable inside an object, initialization through a `constructor` or `static block` is allowed - The scope of the unmodifiable value is limited to the `value of that variable` - That is, when referencing another object, the internal values of the referenced object can be changed - `public static final` - It is a class constant that does not require an instance - It can be used once the class is loaded into memory - It is used in the form of `class.constant` - Likewise, it must be initialized at the time of declaration