检查函数中有多少个构造函数
程序设计思想:
用while来循环,并设置一个布尔类型变量c,当c是true是继续添加构造函数,当c是false是,跳出循环,程序结束。在循环体中,声明一个计数的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++中的全局变量,所以每次创建新的类的对象时不会被初始化,类的非静态对象也不可以对其进行访问。