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!