Java——static

【static】spa

<1>static成员变量存储在内存data segment区域,不是存放在堆中。对象

<2>静态成员变量属于整个类,任何一个对象均可以访问这个值;若是没有对象,能够用类访问,格式为:类.静态成员变量。内存

 

【静态变量与非静态变量】编译器

 

静态成员变量只存在一份(不论new多少个对象,也无论用不用到该变量,它属于整个类),存放在内存的数据区;非静态成员变量每new一个对象就产生一次,在内存的堆中。io

 

【Exception】编译

 public class A{class

       int i;变量

  }引用

  public static void main(String[] args){程序

       int i = 0;

  }

  编译运行后会报错:non-static variable i cannot be referenced from a static context[非静态变量i不能在静态上下文引用]

 【分析】静态上下文指的是static main,main方法须要执行的话不须要new一个对象出来(若是不设置为static,那么意味着在代码区找到主程序入口时,还须要new对象才能运行,那样对编译器而言负担太重)。

 

【静态方法与动态方法】

  静态方法不是针对某一对象调用,没有对象同样能够调用(不出现对象名字也能够访问);非静态方法针对某一对象调用。

相关文章
相关标签/搜索