Java--static成员

为什么要有static成员

当执行new来创建对象是,数据存储空间才被分配,其方法才供外界调用

有两种情形用上述方法无法解决:一是:只想为特定区域分配单一存储空间,而不去考虑究竟要创建多少对象,甚至根本就不创建任何对象。二是:希望某个方法(或数据)不与包含它的任何对象关联在一起,也就是说,即使没有创建对象也能够调用这个方法(或数据)。

static成员的性质

  • 静态成员变量称为类数据,静态成员方法称为类方法,从名字就可以看出,这些数据和方法只是作为整个类(而非具体的对象)而存在的。
  • 类成员、类方法的存储空间是独立于对象而唯一存在的。即创建多个对象他们的类数据、类方法是共享的。

static成员的调用

  • 在静态方法中调用非静态成员必须通过对象去定位它,即必须通过引用名.成员名 的方式才能访问(这种方式对于访问静态成员同样适用)。
  • 任何情况下访问静态成员还可以通过类名.成员名 的方式。(如果该方法与被访问的静态成员在同一个类中,或者静态成员的导出类中,可以直接通过成员名访问,省略类名。)

你可能感兴趣的:(Java特性)