1. 修饰成员变量:有static修饰的为静态变量,没有static修饰的称为实例变量。
实例变量:属于对象的,一个对象有一份。在创建对象的时候被初始化,存在多个副本,各个对象拥有的副本互不影响。存储在堆中。
静态变量:静态变量被所有的对象所共享,在内存中只有一个副本,它当且仅当在类初次加载时会被初始化。
Demo:
public class Spike
{
public static void main(String[] args)
{
Counter a = new Counter();
System.out.println(a.increment()); //输出0,count=1
System.out.println(a.anotherIncrement()); //输出2, count=2
Counter b = new Counter(); //由于是静态变量,count=2
System.out.println(b.increment()); //输出2
}
}
class Counter
{
private static int count = 0;
public int increment()
{
return count++; //先返回count再执行++语句
}
public int anotherIncrement()
{
return ++count; //先++,再返回count值
}
}