美文网首页
1.3 静态成员

1.3 静态成员

作者: 我是老薛 | 来源:发表于2017-06-24 15:53 被阅读0次

    基本概念

    java类中的成员(变量和方法)分为两类:

    • 实例成员,必须通过对象实例去访问,对于实例变量,每个对象都有独立的一份,拥有不同的值。
    • 静态成员,归属类的,所有的对象共享一份。不需要通过对象实例去访问,直接通过类名去访问。

    静态成员

    通过static修饰符,来定义静态成员。

    • 静态变量:
      static 关键字用来声明独立于对象的静态变量,无论一个类实例化多少对象,它的静态变量只有一份拷贝。 静态变量也被称为类变量。局部变量不能被声明为 static 变量。
    • 静态方法:
      static 关键字用来声明独立于对象的静态方法。静态方法不能使用类的非静态变量。静态方法从参数列表得到数据,然后计算这些数据。

    对类变量和方法的访问可以直接使用 classname.variablename 和 classname.methodname 的方式访问。
    如下例所示,static修饰符用来创建类方法和类变量。

    public class InstanceCounter {
       private static int numInstances = 0;
       protected static int getCount() {
          return numInstances;
       }
     
       private static void addInstance() {
          numInstances++;
       }
     
       InstanceCounter() {
          InstanceCounter.addInstance();
       }
     
       public static void main(String[] arguments) {
          System.out.println("Starting with " +
          InstanceCounter.getCount() + " instances");
          for (int i = 0; i < 500; ++i){
             new InstanceCounter();
              }
          System.out.println("Created " +
          InstanceCounter.getCount() + " instances");
       }
    }
    

    以上实例运行编辑结果如下:

    Started with 0 instances
    Created 500 instances
    

    相关文章

      网友评论

          本文标题:1.3 静态成员

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