你好楼主 我来详细为你解答。
------静态代码块:
当编译时,.class字节码文件就加载到了内存,主函数所属的类先加载到内存,所以静态代码块先被执行,当主函数中创建person对象时
这时person类的字节码文件也加载到内存中,然后初始化Person类。
(特点:随着类的加载而执行,只执行一次,并优先于主函数。
用于给类进行初始化的。)
------构造代码块:
作用: 给对象进行初始化。
对象一建立就运行,而且优先于构造函数执行。
和构造函数的区别:
构造代码块是给所有对象进行统一初始化,
而构造函数是给对应的对象初始化。
构造代码块中定义的是不同对象的共性初始化内容。(有名字的孩子和没名字的孩子都哭,哭就定义在构造代码块里)
------构造函数:
构造函数和一般函数在写法上有不同。
在运行上也有不同。
构造函数是在对象一建立就运行。给对象初始化。
而一般方法是对象调用才执行,是给对象添加对象具备的功能。
一个对象建立,构造函数只运行一次。
而一般方法可以被该对象调用多次。
什么时候定义构造函数呢?
当分析事物时,该事物存在具备一些特性或者行为,那么将这些内容定义在构造函数中。 |