java_static关键字

static

  • 一旦使用static修饰成员方法,那么这就成为了静态方法。静态方法不属于对象,而是属于类的。
  • 如果没有static关键字,那么必须首先创建对象,然后通过对象才能使用它。
  • 如果有了static关键字,那么不需要创建对象,直接就能通过类名称来使用它。

一个类的对象的空引用也可以直接调用该类的静态成员方法或者静态成员变量

1
2
3
4
5
6
7
8
9
10
11
12
13
class Pull{
static int a = 1 ;
public static int getA(){
// 静态成员方法中不能使用this
return a;
}
}
public class Main6 {
public static void main(String[] args) {
Pull a = null;
System.out.println(a.getA());
}
}

无论是成员变量还是成员方法。如果有了static,都推荐使用类名称进行调用。

  • 静态变量:类名称.静态变量

  • 静态方法:类名称.静态方法()

注意事项

  1. 静态不能直接访问非静态。

    原因:因为在内存当中是【先】有的静态内容,【后】有的非静态内容。

    “先人不知道后人,但是后人知道先人”,所以非静态方法可以调用静态方法

  2. 静态方法当中不能使用this。

    this是代表当前的对象,通过类调用静态的时候,对象还没有被创建,所以不允许。

内存图


java_static关键字
https://blog.wangxk.cc/2020/08/19/java-static关键字/
作者
Mike
发布于
2020年8月19日
许可协议