面向对象—静态变量

来源:互联网 发布:淘宝代销怎么分账 编辑:程序博客网 时间:2024/05/21 10:44

静态变量


什么时候定义静态变量呢?
当该成员变量的值,每个对象都一致时,就对成员变量进行静态修饰。

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,内存存储区域不同。

静态变量存储在方法区中。
成员变量存储在堆内存中。

其中静态内存图解如下:
这里写图片描述

0 0