在这里我们谈论一下构造代码块,构造函数和普通函数的区别和调用时间。
构造代码块:最早运行,比构造函数运行的时间好要提前,和构造函数一样,只在对象初始化的时候运行。
构造函数:运行时间比构造代码块时间晚,也是在对象初始化的时候运行。没有返回值,构造函数名称和类名一致。
普通函数:不能自动调用,需要对象来调用,例如a.add();
如果只看代码运行先后顺序的话:构造代码块>构造函数>普通函数
下面给一个程序
1 public class Test1 { 2 3 public static void main(String[] args) { 4 code n=new code(); 5 n.normal(); 6 7 } 8 } 9 class code{ 10 //构造代码块1: 11 { 12 System.out.println("我是构造代码块1"); 13 } 14 //构造函数1 15 public code(){ 16 System.out.println("我是构造函数1"); 17 } 18 //构造函数2 19 public code(int t){ 20 System.out.println("我是构造函数2"+t); 21 } 22 //普通函数 23 public void normal(){ 24 System.out.println("我是普通函数"); 25 } 26 //构造代码块2: 27 { 28 System.out.println("我是构造代码块2"); 29 } 30 }
运行结果:
通过上面的程序运行结果,我们可以看出,不管构造代码块是在构造函数之后还是在构造函数之前,都是先运行构造代码块
然后在运行构造函数。构造函数通过重载,有两种初始化方式,一种是没有参数的,一种是有参数的。
如果不调用普通函数,普通函数是不能执行的。