美文网首页
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);
    }
}

相关文章

  • 关于block的所有问题

    关于block捕获外部的变量 (1)局部变量(2)静态变量(3)全局变量(4)全局静态变量(6)block捕获外边...

  • 6、静态变量

    一、静态变量 静态变量也叫类变量 解决魔法数字问题 用成员变量来声明一个常量也浪费 下面的代码示例中用了一个0.9...

  • PHP递归算法(一)

    静态变量的方法 输出: 0 1 2 3 4 5 6 7 8 9 这种方法我们主要利用static定义静态变量来实现...

  • 静态变量与实例变量的理解

    (静态变量又称类变量,静态方法又称类方法)。 静态变量和实例变量的区别? 1、静态变量用static 关键字修饰,...

  • 静态方法、变量与实例方法、变量之比较心得

    静态方法、变量与实例方法、变量之比较心得C# 中常用Static 修饰静态变量和静态方法 静态变量和实例变量有什么...

  • java中Static修饰符静态方法为什么不能调用非静态方法或变

    结论:静态方法只能调用静态方法(或者变量),非静态方法可以调用静态方法(或者变量)原因:类的静态成员(变量或方法)...

  • 打卡7.21

    static定义静态变量和auto定义变量 静态局部变量属于静态存储方式,它具有以下特点: (1)静态局部变量在函...

  • java学习笔记(第三天)

    static修饰符 静态变量:也被称为类变量。局部变量不能被声明为静态变量。 静态方法:静态方法不能使用类的非静态...

  • 2020-05-22

    关于静态变量 静态关键字静态变量:在成员变量前加static关键字,可以将声明为静态成员变量静态方法:工具类中会使...

  • C++——静态成员函数与静态成员变量

    静态成员函数与静态成员变量使用static进行定义。 静态成员函数和静态成员变量其实就是全局函数与全局变量。 静态...

网友评论

      本文标题:6、静态变量

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