Home > Java > JavaBase > When to use static in java

When to use static in java

王林
Release: 2019-12-04 17:59:09
Original
4255 people have browsed it

When to use static in java

When to use:

You can add static when a method or variable needs to be initialized and loaded, or is often called. Methods modified with static can be called directly using the class name. If not, an object must be instantiated before calling.

Disadvantages:

Initial loading takes up more memory, so it is not recommended to add this keyword for methods that are not often used.

If you need to initialize your static variables through calculation, you can declare a static block. The Static block is only executed once when the class is loaded.

Recommended java related video tutorials: java online tutorial

The following example shows a class with a static method, some static variables, and a static initialization block.

Sample code:

// Demonstrate static variables,methods,and blocks.
class UseStatic {
static int a = 3;
static int b;
static void meth(int x) {
System.out.println("x = " + x);
System.out.println("a = " + a);
System.out.println("b = " + b);
}
static {
System.out.println("Static block initialized.");
b = a * 4;
}
public static void main(String args[]) {
meth(42);
}
}
Copy after login

Once the UseStatic class is loaded, all static statements are run.

First, the class attribute variable starts to be assigned, a is set to 3, b is initialized to 0 by default, then the static block is run and executed (printing a message), and finally, b is initialized to a*4 or 12. Then main() is called, main() calls meth(), passing the value 42 to x, and the three println() statements refer to two static variables a and b, and the local variable x.

Note: It is illegal to reference any instance variables in a static method.

Run results:

Static block initialized.
x = 42
a = 3
b = 12
Copy after login

Recommended related article tutorials: Introduction to java programming

The above is the detailed content of When to use static in java. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template