问题:使用类的静态字段和构造函数,我们可以跟踪某个类所创建对象的个数。

    请写一个类,在任何时候都可以向它查询“你已经创建了多少个对象?”。

程序设计思想:

利用静态变量指定一个计数器number,

创建一个对象时总要执行一次构造函数,

那么,当构造函数执行时令number自增,

便可以得到最后所创建对象的数量

程序流程图:

源代码:

 /**
*
*/ /**
* @author 信1605-3 20163471 吴鑫
*
*/
public class NumofObj { /**
*
*/ private static int number=0;
public NumofObj() {
// TODO 自动生成的构造函数存根
number++;
} /**
* @param args
*/ public static int getNumber()
{
return number;
}
public static void main(String[] args) {
// TODO 自动生成的方法存根
NumofObj t1=new NumofObj();
NumofObj t2=new NumofObj();
NumofObj t3=new NumofObj();
NumofObj t4=new NumofObj();
NumofObj t5=new NumofObj();
NumofObj t6=new NumofObj();
NumofObj t7=new NumofObj();
System.out.println("一共创建了"+NumofObj.getNumber()+"个对象");
} }

运行结果如下

java:利用静态字段和构造函数实现已建对象数查询的更多相关文章

  1. java中使用静态字段和构造函数跟踪某个类所创建对象的个数

    对于这个问题,我们都知道java中使用类时会自动调用构造函数.按照这个思路我们可以定义一个static int 形的常量count 然后将count++放入这个类的构造函数中,这样只要输出count的 ...

  2. java 子类、父类中静态代码块、字段,非静态代码块、字段以及构造函数的初始化顺序和次数

    一个类中的数据初始化顺序是面试官非常喜欢出的面试题之一,本文用一个实例来介绍java中子类.父类中静态代码块.字段,非静态代码块.字段以及构造函数的执行顺序和次数. 一.包结构

  3. 零基础学Java(12)静态字段与静态方法

    静态字段与静态方法   之前我们都定义的main方法都被标记了static修饰符,那到底是什么意思?下面我们来看看 静态字段   如果将一个字段定义为static,每个类只有一个这样的字段.而对于非静 ...

  4. java中静态代码块,非静态代码块,构造函数

    关于静态代码块 静态代码块的写法: static { System.out.println("我是静态代码块"); } 静态代码块的特点: 1.执行优先级高于非静态的初始化块,它会 ...

  5. java静态方法和静态字段

    public class Dog{ public static void main(String[]args){ A a= new A(); a.add(); //java实例对象可以访问类的静态方法 ...

  6. Java序列化机制中的类版本问题 serialVersionUID的静态字段 含义

    Java序列化机制中的类版本问题 分类: [Java 基础]2014-10-31 21:13 480人阅读 评论(0) 收藏 举报   目录(?)[+]       原文地址:http://yanwu ...

  7. java的静态代理、jdk动态代理和cglib动态代理

    Java的代理就是客户端不再直接和委托类打交道,而是通过一个中间层来访问,这个中间层就是代理.使用代理有两个好处,一是可以隐藏委托类的实现:二是可以实现客户与委托类之间的解耦,在不修改委托类代码的情况 ...

  8. java synchronized静态同步方法与非静态同步方法,同步语句块

    摘自:http://topmanopensource.iteye.com/blog/1738178 进行多线程编程,同步控制是非常重要的,而同步控制就涉及到了锁. 对代码进行同步控制我们可以选择同步方 ...

  9. 深入理解 静态类和静态字段(C# 基础)

    序言 以前,总是被提醒,在编程过程中尽量少用静态变量,数据丢失什么的,今天有空,禁不住对静态变量的强烈好奇,跟我一起了解下静态家族的内幕吧. 静态类 定义 静态类与非静态类的重要区别在于静态类不能实例 ...

随机推荐

  1. Java第九周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 本次PTA作业题集异常 1.常用异常 题目5-1 1.1 截图你的提交结果(出现学号) 1.2 自己 ...

  2. 201521123028 《Java程序设计》第13周学习总结

    本周学习总结 书面作业 网络基础 1.1 比较ping www.baidu.com与ping cec.jmu.edu.cn,分析返回结果有何不同?为什么会有这样的不同? Ans:cec.jmu.edu ...

  3. Java:实现对象的比较 comparable接口和comparator接口

    在实际应用中,我们往往有需要比较两个自定义对象大小的地方.而这些自定义对象的比较,就不像简单的整型数据那么简单,它们往往包含有许多的属性,我们一般都是根据这些属性对自定义对象进行比较的.所以Java中 ...

  4. sscanf和正则表达式

    sscanf() - 从一个字符串中读进与指定格式相符的数据.      函数原型: Int sscanf( string str, string fmt, mixed var1, mixed var ...

  5. 定位页面元素之xpath详解以及定位不到测试元素的常见问题

    一.定位元素的方法 id:首选的识别属性,W3C标准推荐为页面每一个元素设置一个独一无二的ID属性, 如果没有且很难找到唯一属性,解决方法:(1)找开发把id或者name加上.如果不行,解决思路可以是 ...

  6. 国际化:Java平台下的Locale类

    Locale类有如下几个构造器: Locale(String language) Locale(String language, String country) Locale(String langu ...

  7. 我的Spring学习记录(一)

    spring是一个框架,一个我理解为对象的大熔炉,它生产着各种bean,还可以对生产的对象进行加工. 这里有些概念需要理解一下,就是IOC和DI以及AOP,接下来,我们进入主题. spring简介 上 ...

  8. dotnet core 2.0在ubuntu下安装失败

    在ubuntu下安装.net core2.0失败了,不知道是什么原因.按照微软官方的步骤.似乎走不通.偶然翻到debian的安装方法,发现debian系统居然是直接下载包安装的.没经过apt.尝试一把 ...

  9. 获取OrangePI板子CPU温度

    cat /sys/class/thermal/thermal_zone0/temp 读取这个文件可返回CPU温度,我看网上的说法说是要除以1000才是温度,但我这返回的数字是41...

  10. Linux 环境下 MySQ导入和导出MySQL的sql文件

    将服务器上的文件导入或导出还需要使用工具传输到本机中,推荐使用winscp,与xshell搭配使用 1 导入数据库 两种方法 .首先建空数据库 mysql>create database abc ...