zoukankan      html  css  js  c++  java
  • 类所创建对象个数

    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达到跟踪创建对象个数的目标。

  • 相关阅读:
    【Cocos2d js系列】创建一个弹出框
    Java内存模型
    linux系统-CPU上下文切换
    网络编程-套接字(socket)
    Java虚拟机组成及原理
    swarm
    docker-machine
    存储卷类型
    NOSQL数据库使用存储卷
    建立持久化的容器
  • 原文地址:https://www.cnblogs.com/liyuchao/p/9825597.html
Copyright © 2011-2022 走看看