java构造代码块与静态代码块

时间:2023-12-19 10:57:14

一:构造代码块

1.概述

  作用:给对象初始化。

  优先级:优先于对象的构造函数之前执行。

  {

    /*构造代码块的代码*/

  }

  给所有的对象统一的初始化,而构造函数只是给特定的对象初始化,因为构造函数可以重载,导致了构造函数的不同,但是构造代码块在一个对象建立的时候必执行。

2.程序

  主函数,说明有两个对象被创建,并切构造函数不同。

  java构造代码块与静态代码块

  具体的对象。

  java构造代码块与静态代码块

3.结果

  java构造代码块与静态代码块

  在每个对象的构造函数之前,总是执行构造代码块。

二:静态代码块

1.概述

  随着类的加载而加载,只执行一次。

2.程序

  java构造代码块与静态代码块

  java构造代码块与静态代码块

3.结果

  java构造代码块与静态代码块

4.修改主函数,仔细观察函数运行路线

  java构造代码块与静态代码块

  静态代码块优先于主函数。

  kk先执行,说明对象加载时才会出现静态代码块的问题。