关于类的调用次数,大体使用静态变量来实现。
代码:
package yds;
import java.util.Scanner;
class Number{
static int sum;
public Number(){
sum++;
}
int Sum(){
return sum;
}
}
public class duixiangsum {
public static void main(String[] args){
Scanner scan=new Scanner(System.in);
Number n1=new Number();
Number n2=new Number();
Number n3=new Number();
System.out.println("你已经创建了"+Number.sum+"个对象");
System.out.println("是否继续创建(是,请输入yes,否则输入no)\n");
String flag;
flag=scan.next();
duixiangsum dt=new duixiangsum();
dt.Count(flag);
}
public void Count(String flag){
Scanner scan=new Scanner(System.in);
duixiangsum dt=new duixiangsum();
if(flag.equals("yes")){
Number a=new Number();
System.out.println("你已经创建了"+Number.sum+"个对象");
System.out.println("是否继续创建(是,请输入yes,否则输入no)\n");
flag=scan.next();
dt.Count(flag);
}else{
if(flag.equals("no")){
System.out.println("创建结束");
System.out.println("共创建了"+Number.sum+"个对象");}
}
}
}
附,结果截图
通过这个实例,我简单的了解了静态初始化块的执行顺序的一些基本方法。
1、静态初始化块只执行一次。
2、 创建子类型的对象时,也会导致父类型的静态初始化块的执行。
3、静态方法中只允许访问静态数据。
4、静态初始化块不需要在main方法中调用,即使没有main方法它也会执行。
5、如果对类没有进行实例化,初始化块不会执行,但是静态初始化块会执行。
关于动手动脑,有以下几点的总结:
一、
原文地址:https://www.cnblogs.com/yandashan666/p/9826011.html