Static关键词作用和用法

静态变量(类变量)、静态方法(类方法):static声明的属性或方法。

静态变量/静态方法生命周期和类相同,在整个程序执行期间都有效。它有如下特点:

  1. 为该类的公用变量,属于类,被该类的所有实例共享,在类载入时被初始化。
  2. static变量只有一份。
  3. 一般用“类名.类变量/方法”来调用。
  4. 在static方法中不可直接访问非static的成员。
public class TestStatic {
    private int id;
    private String name;
    private String major;
    static  String school = "清华";
    public  void run(){
        System.out.println("跑");
    }
    static  void school(){
       // run();不能在静态方法中调用非静态方法
        System.out.println(school);
    }

    public static void main(String[] args) {
        TestStatic testStatic = new TestStatic();
        TestStatic.school="北大";
        TestStatic.school();

    }
}

内存分析;

静态初始化块

构造方法用于对象的普通属性初始化。

静态初始化块,用于类的初始化操作,初始化静态属性。

在静态初始化块中不能直接访问非static成员。

注意事项

静态初始化块执行顺序(学完继承再看这里):

  • 上溯到Object类,先执行Object的静态初始化块,再向下执行子类的静态初始化块,直到类的静态初始化块为止。
  • 构造方法执行顺序和上面顺序一样!!
public class TestStatic2 {
   static String company;
   static {
       company = "华为";
       printCompany();
   }
   public static void printCompany(){
       System.out.println(company);
   }

    public static void main(String[] args) {

    }
}
执行结果:





#java基础知识#
全部评论
Static关键词作用和用法
点赞 回复 分享
发布于 2022-10-21 16:49 河南

相关推荐

评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务