zoukankan      html  css  js  c++  java
  • how to know how many objects a class has generated?

    How to know how many objects has been generated for a class?
    We need use the “static” knowledge. Every time you new an object, you will call the constructor(s) of the class. And the “static” property can be updated every time.
    So, see below sample:
    ——————————
    package ch.allenstudy.newway01;
    public class TestStatic_1
    {
    public static void main(String[] args)
    {
    System.out.println(“Now the object number is: ” + AA .getCnt());
    AA aa1 = new AA();
    System.out.println(“Now the object number is: ” + AA .getCnt());
    AA aa2 = new AA(3);
    System.out.println(“Now the object number is: ” + AA .getCnt());
    }
    }
    class AA
    {
    private int i;
    private static int cnt = 0;

    public AA()
    {
    ++cnt;
    }

    public AA(int i)
    {
    this.i = 0;
    ++cnt;
    }

    public static int getCnt()
    {
    return cnt; //also can write as: return AA.cnt;
    }
    }
    ——–REsult———
    Now the object number is: 0
    Now the object number is: 1
    Now the object number is: 2
    ———————–
    要知道,只要你实例化一个对象,就要调用类的 Constructor。当然,一个实例化对象,只能调用一个constructor,在这个例子中,要么调用 AA(),要么调用 AA(i)。
    所以我们在每个Constructor里面都写了 ++cnt。这样,只要你实例化,我们 cnt 的值就加 1。因为 cnt 是一个静态属性,所以我们可以直接 return AA.cnt。这里简写为 return cnt

  • 相关阅读:
    Java实现八大排序算法
    Java实现二分查找算法
    Win10下通过IIS调试ASP程序遇到的问题和解决方案
    Nginx几种负载均衡算法及配置实例
    Java解决CSRF问题
    Nginx Https配置不带www跳转www
    面试中的Https
    面试中的DNS
    java系列视频教程下载
    关于Mysql DATE_FORMAT() 日期格式
  • 原文地址:https://www.cnblogs.com/backpacker/p/2271551.html
Copyright © 2011-2022 走看看