6、静态变量

2021-03-20  本文已影响0人  爱学习的代代

一、静态变量

下面的代码示例中用了一个0.9,代码的编写者知道是什么含义,当时你的同事或者其他人来阅读的时候就不是那么好理解了。

示例:

    public double buy(int count, boolean isVIP) {
        if (count > this.count) {
            return -1;
        }
        this.count -= count;
        return isVIP ? soldPrice * count * 0.95 : soldPrice * count;
    }

修改后代码:

    public static double VIP_DISCOUNT = 0.95;

    public double buy(int count, boolean isVIP) {
        if (count > this.count) {
            return -1;
        }
        this.count -= count;
        return isVIP ? soldPrice * count * VIP_DISCOUNT : soldPrice * count;
     }

二、使用:

  1. 使用static 修饰。
  2. 静态变量的命名使用 大写字母加下划线的组合构成:比如:AA_BB_CC
  3. 静态变量多数情况下设置为public,所有的代码均可以使用
    如果不加pubic,则仅当前包可用。
  4. 静态变量仅只有一份。类的成员变量,每个实例单独有一个。
  5. 使用静态变量的两种方式。

a、使用类名的点操作符(.)+ 变量名来访问
eg:

<TestMerchandiseV2WithStaticVariable.java>

package day06;

public class TestMerchandiseV2WithStaticVariable {
    public static void main(String[] args) {
        System.out.println(MerchandiseV2WithStaticVariable.DISCOUNT_FOR_VIP);
    }
}

<MerchandiseV2WithStaticVariable.java>


public class MerchandiseV2WithStaticVariable {

    public static double DISCOUNT_FOR_VIP = 0.9;
}

b、使用import static将静态变量导入,直接使用变量名:
可以使用import static 最后加 * 将一个类中的所有静态变量引入。

package day06;
import static day06.MerchandiseV2WithStaticVariable.DISCOUNT_FOR_VIP;
public class TestMerchandiseV2WithStaticVariable {
    public static void main(String[] args) {
        System.out.println(DISCOUNT_FOR_VIP);
    }
}
上一篇下一篇

猜你喜欢

热点阅读