1. Class modifiers are divided into two types: accessible control characters and non-access control characters.
The access control symbol is: public class modifier public
Non-access control operators include: abstract class modifier abstract; final class modifier final
1) Public class modifier public: There is only one access control modifier for a class in the Java language: public, which is public. The main class of every Java program must be a public class. As a public tool for use by other classes and programs, it should be defined as a public class.
2) Abstract class modifier abstract: Any class modified with the abstract modifier is called an abstract class. The so-called abstract class refers to a conceptual class that has no concrete objects. Such a class is the abstract class of the Java language.
3) Final class modifier final: When a class cannot have subclasses, the modifier final can be used to indicate it as a final class. Classes defined as final are usually classes that have a fixed role and are used to complete certain standard functions.
4) Class default access control character: If a class does not have an access control character, it means that it has the default access control character. At this time, this class can only be accessed or referenced by classes in the same package. This access feature is also called package accessibility.
2. Domain control modifiers are also divided into two categories: accessible control characters and non-access control characters.
There are four types of access control characters: public access control character: public; private access control character: private; protected access control character: protected; private protection access control character: private protected
There are 4 types of non-access control modifiers: static domain modifier: static; final domain modifier: final; volatile (shared) domain modifier: volatile; temporary domain modifier: transient
1) Public access control character public: The domain modified with public is called a public domain. If a public field belongs to a public class, it can be referenced by all other classes. Since the public modifier will reduce operational security and data encapsulation, the use of the public field should generally be reduced.
2) Private access control character private: Member variables (fields) modified with private can only be accessed by the class itself and cannot be referenced by any other class (including subclasses).
3) Protected access control character protected: Member variables modified with protected can be referenced by three categories: ① the class itself; ② other classes in the same package as it; ③ subclasses of this class in other packages. The main purpose of using the protected modifier is to allow its subclasses in other packages to access specific properties of the parent class.
4) Private protected access control symbol private protected: Member variables modified with the modifier private protected can be accessed and referenced by the class itself or its subclasses.
5) Static domain modifier static: Member variables modified with static only belong to the variables of the class, and do not belong to any specific object. The value of the static member variable is stored in the public storage unit of the memory area of the class, rather than stored in The memory range of a certain object. When an object of any class accesses it, it gets the same data; when an object of any class modifies it, it also operates on the same memory unit.
6) Final domain modifier final: The final domain modifier final is used to define symbolic constants. If a class's domain (member variable) is specified by the modifier final, its value will remain unchanged throughout the execution of the program.
7) Volatile (shared) domain modifier volatile: The volatile (shared) domain modifier volatile is used to indicate that this member variable may be controlled and modified by several threads. That is to say, during the running of the program, this member variable may be affected by other programs or change its value. Therefore, you should pay attention to the changes in the value of this member variable during use. Usually volatile is used to modify fields that accept external input.
8) Temporary domain modifier transient: The temporary domain modifier transient is used to define a temporary variable. Its characteristics are: a temporary variable qualified with the modifier transient will specify the Java virtual machine to determine that the temporary variable does not belong to a permanent state, so as to realize the archiving function of different objects. Otherwise, all variables in the class are part of the object's permanent state and must be saved when the object is stored.
3. The control modifiers of methods are also divided into two categories: accessible control characters and non-access control characters.
There are 4 types of access control characters: public access control character: public; private access control character: private; protected access control character: protected; private protection access control character: private protected
There are 5 types of non-access control characters: abstract method control character: abstract; static method control character: static; final method control character: final; local method control character: native; synchronous method control character: synchronized
1) Abstract method control symbol abstract: A method modified with the modifier abstract is called an abstract method. An abstract method is a method with only a method header and no method body and operation implementation.
2) Static method control symbol static: A method modified with the modifier static is called a static method. Static methods are class methods that belong to the entire class; methods that are not modified or qualified with static are methods that belong to a specific class object. Since the static method belongs to the entire class, it cannot manipulate and process member variables belonging to an object, but can only process member variables belonging to the entire class. That is, the static method can only process the static domain.
3) Final method control character final: A method modified with the modifier final is called a final method. A final method is a method whose functionality and internal statements cannot be changed, i.e. a final method cannot be overloaded. In this way, the functions and operations of this method are fixed, preventing subclasses of the current class from incorrectly defining key methods of the parent class, and ensuring the safety and correctness of the program. All methods qualified as private by the private modifier, and all methods contained in a final class, are considered final methods.
4) Local method control symbol native: A method modified with the modifier native is called a local method. In order to improve the running speed of the program, it is necessary to write the method body of the program in other high-level languages, then the method can be defined as a local method and modified with the modifier native;
5) Synchronized method control modifier synchronized: This modifier is mainly used for coordination and synchronization in programs where multi-threads coexist.