关于static的总结

static:静态的,用于修饰成员(成员变量,成员方法);

被static所修饰的变量或者方法会储存在数据共享区(静态存储区);

被static修饰后的类成员变量只有一份!

当成员被static修饰之后,就多了一种访问方式,除了可以被对象调用之外,还可以直接被类名调用,(类名.静态成员);

静态变量:修饰成员变量
静态变量属于类,被所有的对象所共享,在内存中只有一个副本(静态变量之所以又称为类变量,是因为它和类关联在在一起,随着类加载而存在于方法区中(而不是堆中))
静态变量当且仅当在类初次加载时会被初始化
静态成员变量可以通过类直接访问
非静态变量是对象所拥有的,在创建对象的时候被初始化,存在多个副本,各个对象拥有的副本互不影响
非静态成员变量必须要创建实例后才能访问
静态方法:修饰成员方法
在静态方法中只能访问静态成员(静态变量或者静态方法),不能访问非静态成员
静态方法随着类加载而加载
调用方式:类名.静态方法名
静态代码块
static块可以置于类中的任何地方,类中可以有多个static块。在类初次被加载的时候,会按照static块的顺序来执行每个static块,并且只会执行一次。

使用static的注意事项:

  1. 静态的方法只能访问静态的成员;

  2. 非静态得方法即能访问静态得成员(成员变量,成员方法)又能访问非静态得成员;

  3. 局部变量不能被static修饰;

  4. 静态得方法中是不可以定义this、super关键字的,因为静态优先于对象存在,所以静态方法不可以出this;

posted @ 2022-09-17 15:27  普信男孩阿洲  阅读(47)  评论(0)    收藏  举报