关于java:static关键字

20次阅读

共计 615 个字符,预计需要花费 2 分钟才能阅读完成。

static 关键字

  • 用来润饰共有的构造(属性 / 办法 / 代码块 / 外部类)
  • 实现共有构造的对立管制
  • 类中的常量也经常申明为 static

润饰属性

  • 称为动态变量(动态属性或类变量)
  • 不能润饰局部变量
  • 属性按是否被 static 润饰分为动态属性和非动态属性(实例变量)
  • 创立类的多个对象当前, 每个对象都独立的领有一套类中的实例变量
  • 创立类的多个对象当前, 多个对象共享同一个动态变量, 实现一改全改
  • 实例变量随着对象的创立而加载.
  • 类变量随着类的加载而加载
  • 类变量的加载早于对象的创立
  • 能够通过 ” 类. 动态变量 ” 的形式进行调用(如 System.out,Math.PI)
  • 类只加载一次, 所以动态变量也只加载一次
  • 动态变量存在 <font size=3 color=red>办法区</font> 的动态域中.
  • 动态变量能够间接通过 ” 类. 动态变量 ” 办法调用, 不须要创建对象

润饰办法

  • 随着类的加载而加载, 能够通过 ” 类. 静态方法 ” 的形式进行调用.
  • 因为生命周期, 非静态方法中既能够调用非动态的构造, 也能够调用动态的构造
  • 静态方法中只能调用动态构造
  • 动态的办法内不能应用 this/super 这两个须要基于以后对象的关键字(编译不通过)
  • 动态构造在类中被调用时能够间接写构造名, 省去了 类名.

static 选定规范

  • 选定类变量

    • 属性能够被多个对象共享, 不会随着对象发生变化
  • 选定静态方法

    • 操作动态属性的办法通常也设为 static 的
    • 工具类中的办法, 个别也申明为 static 的(如 Math/Arrays/Collections)
正文完
 0