JAVA static 关键字的理解

来源:互联网 发布:某银行软件现漏洞 编辑:程序博客网 时间:2024/06/10 13:44

用 static 修饰的变量是类变量,静态变量,被所有实例共享;注意与实例变量的区别

用 static 修饰的方法时类的方法,也称静态方法,

下面这个例子可以说明类变量与实例变量的区别:

 

//可以作为两个阶段
public class Bank {

 //静态变量被所有实例共享
 static double account = 0;
 //实例变量,每个对象都有自己的存储空间
 double personAccount;
 public void save(double m)
 {
  account = account + m;
  personAccount = personAccount+m;
 }
 
 public double getMoney(double m)
 {
  account = account -  m;
  if(personAccount > m)
   personAccount = personAccount-m;
  else
  {
   System.out.println("金额不足");
   personAccount = 0;
  }
  return personAccount;
 }
}

 

 

测试类


public class Test {

 /**
  * @param args
  */
 public static void main(String[] args) {
  Bank icbc = new Bank();
  icbc.save(1000);
  System.out.println(icbc.personAccount);
  System.out.println(Bank.account);
  
  Bank icbc2 = new Bank();
  icbc2.getMoney(500);
  System.out.println(icbc2.personAccount);
  System.out.println(Bank.account);

 }

}