Are you familiar or unfamiliar with the keywords Static, final, and Static final? Want to say something but don’t know how to say it accurately? Okay, this article will give a brief summary of their respective uses. I hope you can answer calmly if asked by your interviewer...
static
Loading: static is initialized (loaded) when the class is loaded
Meaning: Static means static, as long as it is static Modify the object that belongs to the class and does not belong to the class.
Can be modified: Static can modifyinternal classes, methods, member variables, and code blocks
.
Cannot be modified: Static cannot be modifiedExternal classes, local variables
[static belongs to the class, local variables belong to its methods, and do not belong to the class]
Note:static
The method is not compatiblethis
Keyword [static represents the class level, this represents the object of the current class]
Raises the question: Is the constructor a static method? [No, the constructor can have this]
The main function of static is to facilitate calling methods/variables that do not create objects.
Regarding static, the blogger specially wrote a blog. If you are not particularly clear about the concept of final, you can take a look at
Programmer, do you really understand static? ?
final
Loading: final can be initialized during compilation (class loading) or during runtime. It cannot be changed after initialization. .
Can be modified:classes, inner classes, methods, member variables, local variables, basic types, reference types
.
Meaning: final means "final", and it also means constant in Java, that is, what is modified by final can only be initialized once!
Various special meanings contained in being modified by final:
1. Final modifies the basic type: the value cannot be modified;
2. Final modifies the reference type : The reference cannot be modified, which means it cannot point to other objects, but the content of the referenced object can be modified;
3. Final modification method, the method cannot be overridden, but can be accessed by subclasses [Prerequisite: The method is not of private type].
4. Final modified class, the class cannot be inherited.
Regarding final, the blogger specially wrote a blog. If the concept of final is not particularly clear, it is worth reading.
Programmer, do you really understand the final keyword?
Static final
Meaning: It can also be known from the literal meaning that it represents the unity of Static and final.
Can be modified: It is still the union of the two, so it can only modifymember variables, methods, and internal classes
. The meanings of being modified by Static final are as follows:
1. Member variables: variables that belong to the class and can only be assigned once.
2. Method: A method that belongs to a class and cannot be overridden.
3. Internal class: It belongs to the external class and cannot be inherited.
This article is just a brief summary of their use. I hope that if you are asked by the interviewer, you will also Be able to answer calmly...If there is anything wrong, I hope you will understand and welcome criticism and correction.
This article comes from thejava introductioncolumn, welcome to learn!
The above is the detailed content of Detailed explanation of various usages of Static, final, and Static final in Java. For more information, please follow other related articles on the PHP Chinese website!