检查函数中有多少个构造函数

程序设计思想:

while来循环,并设置一个布尔类型变量c,当ctrue是继续添加构造函数,当cfalse是,跳出循环,程序结束。在循环体中,声明一个计数的int型变量i,每当执行一次,就I++

最后程序结束时可以直接输出i的值。

程序流程图:

 

 

程序源代码:

package tur3;

 

import java.util.Scanner;

 

public class Jisuan1 {

public Jisuan1()

{

System.out.println("创建成功!");

}

public static void main(String[] args) {

Scanner input =new Scanner(System.in);

// TODO 自动生成的方法存根

    Boolean flag=true;

    int i=1;

    while(flag)

    {

     Jisuan1 a=new Jisuan1();

     System.out.println("是否继续创建?Y or N");

     char c=input.next().charAt(0);

     if(c=='Y')

     {

     flag=true;

     i++;

     }

     else

     {

     flag=false;

     System.out.println("一共创建了"+i+"个构造函数");

     }

    }

程序截图:

程序结果截图: 

方法二:

package tur3;

public class Jisuan {
public static int num=0;
private int x;
public Jisuan()
{
num++;
}
public Jisuan(int n)
{
x=n;
num++;
}
public static void main(String[] args) {
// TODO 自动生成的方法存根
Jisuan obj1=new Jisuan();
Jisuan obj2=new Jisuan();
Jisuan obj3=new Jisuan(2);
Jisuan obj4=new Jisuan();
System.out.println("一共调用了"+num+"次构造函数");
}

}

注:方法二代码比较简单,但用到了静态变量,静态变量在创建类是就已经创建,相当于c与c++中的全局变量,所以每次创建新的类的对象时不会被初始化,类的非静态对象也不可以对其进行访问。