美文网首页
6、静态变量

6、静态变量

作者: 爱学习的代代 | 来源:发表于2021-03-20 13:02 被阅读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);
        }
    }
    

    相关文章

      网友评论

          本文标题:6、静态变量

          本文链接:https://www.haomeiwen.com/subject/mnfwcltx.html