static控制符的使用

来源:互联网 发布:c windows图形编程 编辑:程序博客网 时间:2024/06/05 06:39

/*
非访问控制符有三个:static  final  abstract
本例是对static控制符的使用

这段程序在main方法中创建了类StaticExample的两个实例example1和example2,通过两个实例都对globalCount进行了自加操作.
由于globalCount是静态成员变量,因此两次自加操作实际是对同一个变量的操作,因此globalCount的值为2

结果输出三个2

实际使用中要访问一个表态成员,可以通过实例变量(例子中 的两次自加操作和随后的两次输出),
也可以直接通过类名(最后的那句输出).但前者不推荐使用,因为这会造成一定的混淆,使阅读代
码的人无法直观地知道globalCount是个静态成员.

一般使用后者.

注意:*************************************************************************************
1:实现各实例之间的通信
 该类的任何一个对象访问该静态成员变量时,取得的都是相同的值.
2:跟踪创建的实例数,如下例所示:
 public class Count{
  private int serial;//实例变量
  private static int counter=0;

  public Count(){
   counter++;
   serial=counter;
  }
 }
3:静态成员变量类似于某些语言中的全局变量.
4:非private的静态成员变量无需创建实例就可以从类的外部访问.如下例所示
 class StaticVar
 {
  static int x=100;
 }
 public class test
 {
  public void m(){
   int m=StaticVar.x;//类名.静态成员变量名
  }
 }
 **************************************************************************************
*/
public class StaticExample
{
 static int globalCount=0;

 public static void main(String[] args){
  StaticExample example1=new StaticExample();
  StaticExample example2=new StaticExample();
  example1.globalCount++;
  example2.globalCount++;
  System.out.println("globalCount of example1="+example1.globalCount);
  System.out.println("globalCount of example2="+example2.globalCount);
  System.out.println("globalCount="+StaticExample.globalCount);
 }
}

原创粉丝点击