1. Overview
After learning inheritance, we know that subclasses can rewrite the content of the parent class on the basis of the parent class, such as , method overriding. So can we freely inherit the classes provided in the API and rewrite their contents? Obviously this is inappropriate. In order to avoid this kind of random rewriting, Java provides final for modifying unchangeable content.
final: Unchangeable. Can be used to modify classes, methods and variables.
Class: The modified class cannot be inherited.
Method: The modified method cannot be overridden.
Variable: The modified variable cannot be reassigned.
Share free learning video tutorials: java video tutorial
2. How to use
Modification class
The format is as follows:
Query the API and find things like public class final String
, public class final Math,
public class final Scanner
etc., many of the classes we have studied are modified by final, the purpose is for us to use, and we do not allow us to change its content at will.
Modification method
The format is as follows:
Note: Override the method modified by fianl , an error will be reported when compiling.
Modified variables
1. Local variables - basic types
Local variables of basic types can only be assigned values after being modified by final Once, it cannot be changed again. The code is as follows:
Think about the following two ways of writing, which one can be compiled?
Writing method 1:
Writing method 2:
According to the definition of final, writing method 1 reports an error ! Writing method 2, why compile? Because every time it loops, there is a new variable c. This is also something everyone needs to pay attention to.
2. Local variables - reference type
Local variables of reference type, after being modified by final, can only point to one object, and the address cannot be changed. However, it does not affect the modification of the member variable values inside the object.
The code is as follows:
3. Member variables
Member variables involve initialization issues and initialization methods There are two types, you can only choose one:
Display initialization
Constructor initialization
Note: Constant names modified by final generally have writing specifications, and all letters are capitalized.
If you want to learn more related tutorials, please visit Getting Started with Java Development
The above is the detailed content of The Road to Java Learning - Detailed Explanation of the Final Keyword. For more information, please follow other related articles on the PHP Chinese website!