静态方法

1.在Java语言中,对静态方法有两点规定:

  • 在静态方法中不可以使用this关键字;
  • 在静态方法中不可以直接调用非静态方法。

  举例说明:

public class StaticTest {
    static double PI = 3.1415;
    static int id;
    public static void method() {
        
    }
    
    public void method2() {
        System.out.println(StaticTest.PI);
        System.out.println(StaticTest.id);
        StaticTest.method();
    }
    
    public static StaticTest method3() {
        method2();//不能对类型StaticTest中的非静态方法method2()进行静态引用
        return this;//不能在静态上下文中使用this
    }
}

 

 

2.在Java中规定,不能将方法体内的局部变量声明为static的。

举例说明:

public class Example {
    public void method() {
        static int i = 0;    //参数i的修饰符不合法,只允许使用final
    }
}

 

3.如果在执行类时,希望先执行类的初始化操作,可以使用static定义一个静态区域。

举例说明:

public class Example {    
    static {
        //some
 }
}

当这段代码被执行时,首先实现static块中的程序,并且只会执行一次。

点赞