java面向对象_static关键字

1. 修饰成员变量:有static修饰的为静态变量,没有static修饰的称为实例变量。

   实例变量:属于对象的,一个对象有一份。在创建对象的时候被初始化,存在多个副本,各个对象拥有的副本互不影响。存储在堆中。

   静态变量:静态变量被所有的对象所共享,在内存中只有一个副本,它当且仅当在类初次加载时会被初始化。

 Demo:

 1 public class Spike
 2 {
 3     public static void main(String[] args)
 4     {
 5         Counter a = new Counter();
 6         System.out.println(a.increment());         //输出0,count=1
 7         System.out.println(a.anotherIncrement());  //输出2, count=2
 8         Counter b = new Counter();                 //由于是静态变量,count=2
 9         System.out.println(b.increment());         //输出2
10     }
11 }
12 class Counter
13 {
14     private static int count = 0;
15     public int increment()
16     {
17         return count++;        //先返回count再执行++语句
18     }
19     public int anotherIncrement()
20     {
21         return ++count;    //先++,再返回count值  
22     }
23 }

 

posted @ 2016-05-25 08:47  王者级青铜  阅读(271)  评论(0编辑  收藏  举报