欢迎光临散文网 会员登陆 & 注册

千锋教育Java入门全套视频教程(java核心技术,适合java零基础,Java

2023-07-22 14:03 作者:47259893765_bili  | 我要投稿

代码块,属于类中的成员(即和属性,方法一样,是类的一部分)。代码块的形成如同方法一样,用花括号将一些代码包括起来。只不过相比方法来看,代码块只有"方法体"。与方法相比,代码块没有返回值类型,没有方法名,也没有形参列表,是个名副其实的“三无方法”。代码块只有方法体,而且在调用时,不需要通过创建对象或是像使用类方法那样显式的调用;而是在加载包含代码块的类时,或者是在实例化该类对象时,自动的隐式调用。.静态代码块的作用是对整个类进行初始化工作,且随着类的被加载而被隐式地调用。由于一个类的字节码文件只会被加载一次,因此静态代码块也最多只能被执行一次。

而对于非静态代码块来说,每创建一个包含非静态代码块的类 (即每实例化一次该类),都会执行一次该类中的非静态代码块。注意:如果仅仅通过“类名.”的形式去调用类的静态成员(即类变量和类方法的使用),那么非静态代码块不会执行。关于在创建对象时,静态成员、非静态成员,以及构造器在一个类中的调用顺序 :

①首先执行静态代码块(因为要加载类)和静态属性的初始化;这两者的执行优先级相同,同级。但如果同时定义了多个静态代码块和多个静态属性的初始化语句,则按照定义的顺序来执行。(即谁在前头先执行谁)

②其次执行非静态代码块和非静态属性的初始化;这两者的执行优先级也相同,同级。同理,若同时定义了多个非静态代码块和多个非静态属性的初始化语句,则按照定义的先后顺序来执行。

③最后执行构造器初始化。


千锋教育Java入门全套视频教程(java核心技术,适合java零基础,Java的评论 (共 条)

分享到微博请遵守国家法律