Java面向对象_3.封装与继承_static变量使用

本文探讨了Java中static变量的重要作用,包括如何作为实例间共享数据以及节省内存空间。通过一个选民投票的示例,详细解释了static变量在实际编程中的应用,展示了如何确保每个选民只能投一次票,以及如何在投票总数达到100时停止投票。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

static变量的作用

  (1)能被类的所有实例共享,可作为实例之间进行交流的共享数据
  (2)如果类的所有实例都包含一个相同的常量属性,可把这个属性定义为 静态 常量类型,从而节省内存空间

用法示例

  下面模拟实现选民投票过程:一群选民进行投票,每个选民只允许投一次票,并且当投票总数达到100时,就停止投票。
    选民类(Voter.java):

package com.kgc.vote;

/*
 * 模拟实现选民投票过程:一群选民进行投票,每个选民只允许投一次票,并且当投票总数达到100时,就停止投票。
 * */
//选民类
//投票总数,所有选民都会改变的同一个数据。	static
//100,最大投票数,适用于所有选民。	static final
public class Voter {
	//投票总数,所有选民都会改变的同一个数据。	static
	private static int count;
	//100,最大投票数,适用于所有选民。	static final
	private static final int MAX_COUNT = 100;
	
	private String name;	//姓名
	
	public Voter(){}	//无参的构造方法
	public Voter(String name){	//带参的构造方法
		this.name = name;
	}
	
	public void setName(String name){
		this.name = name;
	}
	
	public String getName(){
		return this.name;
	}
	
	//投票
	public void voteFor(){
		if(count == MAX_COUNT){
			System.out.println("投票活动已经结束!");
			return;	//结束掉当前方法
		}else{
			count++;
			System.out.println(this.name + ",感谢您投票!");
		}
	}
}

  测试类(TestVoter.java):

package com.kgc.vote;
//测试选民投票
public class TestVoter {
	public static void main(String[] args){
		//下面我们用的Voter.java中的带参的构造方法
		Voter zhang = new Voter("zhangsan");
		zhang.voteFor();
		Voter li = new Voter("lisi");
		li.voteFor();
		Voter wang = new Voter("wangwu");
		wang.voteFor();
		
		for(int i = 1; i <= 97; i++){
			Voter v = new Voter("v" + i);
			v.voteFor();
		}

		Voter v101 = new Voter("v101");
		v101.voteFor();
	} 
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值