7.static变量使用

package staticDemo;

/*
 * 一群选民进行投票,每个选民只允许投一次票,并且当投票总数达到100时,就停止投票
 * Voter:选民类
 * */
public class Voter {
    private static int count; // 所有选民都会改变同一个数据:投票次数
    private static final int MAX_COUNT = 100; // 最大投票数100适用于所有选民
    private String name;// 投票人姓名

    public Voter(String name) {
        this.name = name;
    }

    //投票
    public void voteFor() {
        if(count==MAX_COUNT){
            System.out.println("投票活动已经结束");
            return;
        }else{
            count++;
            System.out.println(this.name + ":感谢您投票!");
        }
    }
}
package staticDemo;

public class TestVoter {
    public static void main(String[] args) {
        Voter zhang=new Voter("张三");
        Voter li=new Voter("李四");
        Voter wang=new Voter("王五");

        zhang.voteFor();
        li.voteFor();
        wang.voteFor();

        for(int i=1;i<=97;i++){
            Voter v=new Voter("v"+i);
            v.voteFor();
        }

        Voter v101=new Voter("v101");
        v101.voteFor();
    }
}
时间: 2024-09-29 09:43:53

7.static变量使用的相关文章

static 变量的作用:

概念:静态变量作用范围在一个文件内,程序开始时分配空间,结束时释放空间,默认初始化为0,使用时可以改变其值.静态变量或静态函数只有本文件内的代码才能访问它,它的名字在其它文件中不可见. 1.先来介绍它的第一条也是最重要的一条:隐藏 当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性. 2. static的第二个作用是保持变量内容的持久 存储在静态数据区的变量会在程序刚开始运行时就完成初始化,也是唯一的一次初始化.共有两种变量存储在静态存储区:全局变量和static

转:C语言中的static变量和C++静态数据成员(static member)

转自:C语言中的static变量和C++静态数据成员(static member) C语言中static的变量:1).static局部变量        a.静态局部变量在函数内定义,生存期为整个程序运行期间,但作用域与自动变量相同,只能在定义该变量的函数内使用.退出该函数后, 尽管该变量还继续存在,但不能使用它.        b.对基本类型的静态局部变量若在说明时未赋以初值,则系统自动赋予0值.而对自动变量不赋初值,则其值是不定的.2).static全局变量        全局变量本身就是静

VC和gcc在保证函数static变量线程安全性上的区别

VC和gcc不同,不能保证静态变量的线程安全性.这就给我们的程序带来了很大的安全隐患和诸多不便.这一点应该引起我们的重视!尤其是在构造函数耗时比较长的时候,很可能给程序带来意想不到的结果.本文从测试代码开始,逐步分析原理,最后给出解决方案. 多线程状态下,VC不能保证在使用函数的静态变量的时候,它的构造函数已经被执行完毕,下面是一段测试代码: class TestStatic { public: TestStatic() { Sleep(1000*10); m_num = 999; } publ

const、static变量存放位置

我们将以下面的例子介绍const变量和static变量的存放位置: static int val_a = 1; // 初始化的静态变量 int val_b = 2;        // 全局变量 const int val_c = 3;  // const 全局变量 static int val_d;     // 未初始化的静态变量 int val_e;            // 未初始化的全局变量 int main() { static int val_f = 5;  // 初始化的局部静

java执行程序的内存分析系列专栏二之static变量和方法内存分析

昨天写了简单的聊了下java执行程序时简单的内存划分,今天我们接着往下聊,聊聊static变量和方法的内存分析. 1.static变量和方法的第一个特性内存分析 statiic变量和方法的第一个特性能通过类名.static变量和类名.static方法的形式调用,而普通只能对象的形式调用.但具体为什么是这样的,这得分析static变量和方法他们在内存中怎样分配的,因此在这里我首先建立一个学生类,里面有一个普通成员变量和一个静态成员变量以及一个普通方法和一个成员方法,然后建立了一个测试学生的类. 1

Android 4.1 APP中的static变量即使在APP退出后仍然不会被擦除

Android 4.1 APP中的static变量即使在APP退出后仍然会保留最后赋值状态. public class MainActivity extends Activity { private TextView tv; private static int i=10; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVie

static变量一般是放在.cpp或.c文件中

static变量是有文件作用域的, 在a.c中定义的,就不能在b.c或者其它文件中用了. 至于static变量, 如果要把它的声明放进.h文件, 则它就不应该是一个static变量了, static变量一般是放在.cpp或.c文件中,且声明和定义在一起 static变量一般是放在.cpp或.c文件中,布布扣,bubuko.com

ecmall中static变量的使用-model模型代码设计

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 function &m($model_name, $params = array(), $is_new = false) {     <span style="backg

转载 IOS开发之---static变量

Objective-C 支持全局变量 主要有两种实现方式: (1)第一种和C/C++中的一样, 使用"extern"关键词: (2)另外一种就是使用单例实现. (比如我们经常会把一个变量放在AppDelegate里面作为全局变量来访问, 其中AppDelegate就是一个单例类)  在Objective-C中如何实现像C++中那样的静态成员变量呢? 你需要做的是在一个类A的implementation(.m或者.mm)文件中定义一个static变量,然后为A类定义静态成员函数(clas

调整static变量初始化顺序的一个办法

// wrap the LaunchDir variable in a function to work around static/global initialization order static FString& GetWrappedLaunchDir() { static FString LaunchDir; return LaunchDir; } 在ue4中看到这么一段代码,注释有点意思 不同cpp文件里的全局static变量初始化顺序是不可控的 FString显然会依赖很多内存分配