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 河南

相关推荐

01-08 09:40
中南大学 Java
苏苏加油努力:你的女神不回你消息,并且给别的男生发消息 be like
点赞 评论 收藏
分享
2024-12-21 18:48
西安邮电大学 C++
黑皮白袜臭脚体育生:按使用了什么技术解决了什么问题,优化了什么性能指标来写会更好另外宣传下自己的开源仿b站微服务项目,GitHub已经390star,牛客上有完整文档教程
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务