静态变量
:
什么时候定义静态变量呢?
当该成员变量的值,每个对象都一致时,就对成员变量进行静态修饰。
class Circle
{
private double radius;
private static double pi=3.14;//若不加static修饰,则每个圆对象都存储一份,浪费内存空间,实现对象的共享,即加入静态关键字修饰。
Circle(double radius)
{
this.radius=radius;//构造函数
}
double getArea()
{
return radius*radius*pi;
}
}
public class test {
public static void main(String[] args)
{
Circle a=new Circle();
System.out.println(a.getArea());
}
}
补充:
静态变量与成员变量的区别
1,所属的范围不同。
静态变量所属于类,成员变量所属于对象。
静态变量也称为:类变量,成员变量也称为实例变量。
2,调用不同。
静态变量可以被对象和类调用(一般都用类名调用)
成员变量只能被对象调用。
3,加载时期不同。
静态变量随着类的加载而加载
成员变量随着对象的加载而加载。
4,内存存储区域不同。
静态变量存储在方法区中。
成员变量存储在堆内存中。
其中静态内存图解如下: