Types of variables supported by the Java language
- Class variable: A variable that is independent of the method and is decorated with static.
- Local variable: A variable in a method of a class.
- instance variables (global variables): Variables independent of the method, but no static adornments.
Public class Variable{
static int allClicks< Span class= "Hl-code" >=0; // class variable
< Span class= "hl-types" > string str= "hello World "; // instance variable
< Span class= "Hl-number" > < Span class= "Hl-code" > public void method ({
< Span class= "Hl-code" > < Span class= "Hl-identifier" > int i =0// local variable
< Span class= "hl-quotes" > < Span class= "Hl-code" >< Span class= "Hl-code" > } /span>
< Span class= "hl-comment" >< Span class= "hl-brackets" >< Span class= "Hl-code" > }
< Span class= "hl-comment" >< Span class= "hl-brackets" >< Span class= "Hl-code" > java local variables
- A local variable is declared in a method, a construction method, or a block of statements;
- Local variables are created when methods, construction methods, or block of statements are executed, and when they are executed, the variables are destroyed;
- Access modifiers cannot be used for local variables;
- A local variable is only visible in the method, construction method, or block of statements that declares it;
- Local variables are allocated on the stack.
- The local variable has no default value, so the local variable is declared and must be initialized before it can be used.
instance variables for Java
- Instance variables are declared in a class, but outside of methods, construction methods, and statement blocks;
- When an object is instantiated, the value of each instance variable is then determined;
- Instance variables are created when the object is created and destroyed when the object is destroyed;
- The value of the instance variable should be referenced by at least one method, construct method, or statement block, so that the external can obtain instance variable information through these methods;
- Instance variables can be declared before use or after use;
- An access modifier can modify an instance variable;
- Instance variables are visible to methods, construction methods, or block statements in a class. In general, you should set the instance variable to private. By using the access modifier, the instance variable is visible to the child class;
- The instance variable has a default value. The default value for a numeric variable is 0, the default value for a Boolean variable is false, and the default value for the reference type variable is null. The value of a variable can be specified at the time of declaration, or it can be specified in a constructor method, and an instance variable can be accessed directly from the variable name. However, in static methods and other classes, you should use the fully qualified name: Obejectreference.variablename.
class variables for Java (static variables)
- Class variables, also known as static variables, are declared in the class with the static keyword, but must be outside the method construction method and statement block.
- No matter how many objects a class creates, the class has only one copy of the class variable.
- Static variables are seldom used except when declared as constants. Constants are variables declared as public/private,final and static types. Constants cannot be changed after initialization.
- Static variables are stored in a static storage area. are often declared as constants, and static declaration variables are seldom used alone.
- Static variables are created at the beginning of the program and are destroyed at the end of the program.
- has similar visibility to instance variables. However, in order to be visible to the consumer of a class, most static variables are declared as public types.
- The default value is similar to the instance variable. The default value for numeric variables is 0, the Boolean default is False, and the reference type default value is null. The value of a variable can be specified at the time of declaration, or it can be specified in a constructor method. In addition, static variables can be initialized in static statement blocks.
- Static variables can be accessed by:classname.variablename .
- Class variable names are generally recommended to use uppercase when the class variable is declared as public static final type. If the static variable is not public and final, it is named in the same way as the instance variable and the local variable.
Permission access modifiers
The default, also known as default, is visible within the same package and does not use any modifiers.
Private, specified with the private modifier, visible within the same class.
Common, specified with the public modifier, visible to all classes.
Protected, specified with the protected modifier, visible to classes and all subclasses within the same package.
Scope |
Current class |
Same package |
Descendant class |
Other Packages |
Public |
√ |
√ |
√ |
√ |
Protected |
√ |
√ |
√ |
X |
Default |
√ |
√ |
X |
X |
Private |
√ |
X |
X |
X |
Differences between member variables and instance variables in Java