Java——static

【static】

<1>static成员变量存储在内存data segment区域,不是存放在堆中。
<2>静态成员变量属于整个类,任何一个对象都可以访问这个值;如果没有对象,可以用类访问,格式为:类.静态成员变量。
 
【静态变量与非静态变量】
 
静态成员变量只存在一份(不论new多少个对象,也不管用不用到该变量,它属于整个类),存放在内存的数据区;非静态成员变量每new一个对象就产生一次,在内存的堆中。
 
【Exception】
 public class A{
       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对象才能运行,那样对编译器而言负担过重)。
 
【静态方法与动态方法】
  静态方法不是针对某一对象调用,没有对象一样可以调用(不出现对象名字也可以访问);非静态方法针对某一对象调用。
 
 
 
 
 
 
 
 
posted @ 2015-03-20 22:10  程序员姜戈  阅读(225)  评论(0编辑  收藏  举报