java关键字之static

static学习笔记

static表示“全局”或者“静态”的意思,用来修饰成员变量或者是成员方法,也可以形成静态的static代码块。但是要尤为提醒的一点是,java中并没有全局变量这个概念

  • 被static修饰的成员变量或者是成员方法独立于该类的任何对象,换句话说,它不依赖于特定的实例,被类的所有的实例共享。
  • 一旦这个类被加载,就是在运行时数据区找到这些成员方法,也就是说static可以在对象创建之前被访问,无需引用任何的对象。
  • 用public修饰的static成员变量和成员方法本质是全局变量和全局方法,类的所有实例共享一个static变量。
  • 其实关于static和public或者private的关系,只要把握住一个是访问限权限定符,一个是功能限定符就好理解的多。
  • 用static修饰的代码块表示静态代码块,当Java虚拟机(JVM)加载类时,就会执行该代码块
  • 如果你好好看我上面乱七八糟的东西以后,你就会明白为什么静态方法中不能用this和super关键字,不能直接访问所属类的实例变量和实例方法
  • 刚开始接触的话,很容易把static和final这两个关键字搞迷糊
    • static final修饰的成员变量或者是成员方法,可以理解为全局常量
    • 对于变量来说,一旦初始化,就不可修改
    • 对于方法来说,不能被重写。

你可能感兴趣的:(java关键字之static)