In Java, static methods refer to member methods modified by static. A static method can be called without any instance of the class to which it belongs. Therefore, the this keyword cannot be used in a static method, and the instance variables and instance methods of the class to which it belongs cannot be directly accessed. However, the static variables of the class to which it belongs can be directly accessed. and static methods.
The operating environment of this tutorial: windows7 system, java8 version, DELL G3 computer.
Static methods (or class methods) refer to member methods modified by static.
The difference between static methods and instance methods:
Static methods do not need to be called through any instance of the class to which they belong, so in static methods You cannot use the this keyword, nor can you directly access the instance variables and instance methods of the class to which it belongs, but you can directly access the static variables and static methods of the class to which it belongs. In addition, like the this keyword, the super keyword is also related to a specific instance of the class, so the super keyword cannot be used in static methods.
In instance methods, you can directly access static variables, static methods, instance variables and instance methods of the class to which they belong.
Example:
Create a class with static variables, add several static methods to modify the values of the static variables, and then in main () method calls the static method and outputs the result.
public class StaticMethod { public static int count = 1; // 定义静态变量count public int method1() { // 实例方法method1 count++; // 访问静态变量count并赋值 System.out.println("在静态方法 method1()中的 count="+count); // 打印count return count; } public static int method2() { // 静态方法method2 count += count; // 访问静态变量count并赋值 System.out.println("在静态方法 method2()中的 count="+count); // 打印count return count; } public static void PrintCount() { // 静态方法PrintCount count += 2; System.out.println("在静态方法 PrintCount()中的 count="+count); // 打印count } public static void main(String[] args) { StaticMethod sft = new StaticMethod(); // 通过实例对象调用实例方法 System.out.println("method1() 方法返回值 intro1="+sft.method1()); // 直接调用静态方法 System.out.println("method2() 方法返回值 intro1="+method2()); // 通过类名调用静态方法,打印 count StaticMethod.PrintCount(); } }
The result after running this program is as follows:
在静态方法 method1()中的 count=2 method1() 方法返回值 intro1=2 在静态方法 method2()中的 count=4 method2() 方法返回值 intro1=4 在静态方法 PrintCount()中的 count=6
In this program, the static variable count is used as shared data between instances, so count is called in different methods, and the value are different. As can be seen from this program, the non-static method method1() cannot be called in the static methods method1() and PrintCount(), but the static methods method2() and PrintCount() can be called in the method1() method.
When accessing non-static methods, you need to access them through instance objects. When accessing static methods, you can access them directly, through class names, or through instantiated objects.
Recommended related video tutorials: Java video tutorial
The above is the detailed content of What are java static methods. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 Linux new version
SublimeText3 Linux latest version

Dreamweaver Mac version
Visual web development tools

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

SublimeText3 Mac version
God-level code editing software (SublimeText3)