在这里我们谈论一下构造代码块,构造函数和普通函数的区别和调用时间。
构造代码块:最早运行,比构造函数运行的时间好要提前,和构造函数一样,只在对象初始化的时候运行。
构造函数:运行时间比构造代码块时间晚,也是在对象初始化的时候运行。没有返回值,构造函数名称和类名一致。
普通函数:不能自动调用,需要对象来调用,例如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 }
运行结果:
通过上面的程序运行结果,我们可以看出,不管构造代码块是在构造函数之后还是在构造函数之前,都是先运行构造代码块
然后在运行构造函数。构造函数通过重载,有两种初始化方式,一种是没有参数的,一种是有参数的。
如果不调用普通函数,普通函数是不能执行的。