• 类所创建对象个数


    package text;
    
    public class show 
    {
        public static int i=0;
        
        {
            i++;
        }
        show(){}
        public static void many()
        {
            System.out.println("目前已创建对象个数为:"+i);
        }
        
        public static void main(String[] args)
        {
              show a=new show();
              show b=new show();
              show c=b;//运行后答案还是创建了两个对象,说明只是为对象b起了另一个名字
              many();
        }
    }

    结果:

    目前已创建对象个数为:2

    多创建1个对象后,得到的答案:

    package text;
    
    public class show 
    {
        public static int i=0;
        
        {
            i++;
        }
        show(){}
        public static void many()
        {
            System.out.println("目前已创建对象个数为:"+i);
        }
        
        public static void main(String[] args)
        {
              show a=new show();
              show b=new show();
              show d=new show();
              show c=b;//运行后答案还是创建了两个对象,说明只是为对象b起了另一个名字
              many();
        }
    }

    结果:

    目前已创建对象个数为:3

    总结:

    每次创建对象时,都会调用构造函数,而在调用构造函数之前,必会先运行非静态初始化块,所以可以通过非静态初始化块中的变量+1达到跟踪创建对象个数的目标。

  • 相关阅读:
    docker compose 笔记
    一个简单的计划
    译Node.js应用的持续部署
    Javascript中的字典和散列
    施耐德保护调试技巧
    施耐德Sepam 40系列备自投逻辑
    请随时告诉自己
    顺其自然
    启用
    我们能做的是......
  • 原文地址:https://www.cnblogs.com/liyuchao/p/9825597.html
Copyright © 2020-2023  润新知