java构造代码块,构造函数和普通函数的区别和调用时间

时间:2023-02-11 18:35:32

在这里我们谈论一下构造代码块,构造函数和普通函数的区别和调用时间。
构造代码块:最早运行,比构造函数运行的时间好要提前,和构造函数一样,只在对象初始化的时候运行。
构造函数:运行时间比构造代码块时间晚,也是在对象初始化的时候运行。没有返回值,构造函数名称和类名一致。
普通函数:不能自动调用,需要对象来调用,例如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 }

 

运行结果:

java构造代码块,构造函数和普通函数的区别和调用时间


通过上面的程序运行结果,我们可以看出,不管构造代码块是在构造函数之后还是在构造函数之前,都是先运行构造代码块
然后在运行构造函数。构造函数通过重载,有两种初始化方式,一种是没有参数的,一种是有参数的。
如果不调用普通函数,普通函数是不能执行的。