Home > Java > Javagetting Started > body text

What are java static methods

青灯夜游
Release: 2023-01-13 00:40:10
Original
27930 people have browsed it

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.

What are java 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();
    }
}
Copy after login

The result after running this program is as follows:

在静态方法 method1()中的 count=2
method1() 方法返回值 intro1=2
在静态方法 method2()中的 count=4
method2() 方法返回值 intro1=4
在静态方法 PrintCount()中的 count=6
Copy after login

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!

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