十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
静态代码块:有些代码必须在项目启动的时候就执行,这种代码是主动执行的(当类被载入时,静态代码块被执行,且只被执行一次,静态块常用来执行类属性的初始化)
创新互联公司专注于邯郸网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供邯郸营销型网站建设,邯郸网站制作、邯郸网页设计、邯郸网站官网定制、小程序设计服务,打造邯郸网络公司原创品牌,更为您提供邯郸网站排名全网营销落地服务。
静态方法:需要在项目启动的时候就初始化,在不创建对象的情况下,这种代码是被动执行的(静态方法在类加载的时候就已经加载
可以用类名直接调用)。
两者的区别是:静态代码块是自动执行的,
静态方法是被调用的时候才执行的.
静态代码块:只要一用到某个类,那么这个类的静态代码块就先执行,比如:
public class Dog(){
int i = 0;
static {
i = 1;
}
public Dog(){
i = 2;
}
}当你new 一个Dog()对象时,首先i=
1 会执行,然后才执行
public Dog(){}这个方法。
pulic
Dog() 是与类同名、没有返回值的方法,也就是构造方法。
构造方法的作用是用来初始化一个对象的。比如你可以在里面写
i
=
2;
那么当你 Dog
d
=
new
Dog()执行这段代码的时候,是这样的:
首先
i
=
;
然后执行static 静态代码块,此时i=
1;
最后执行public
Dog();
i
=
2;
先说执行顺序:我们在new一个对象时,如果类还没加载,就需要先将类加载到内存,此时就会执行静态代码块,在创建对象时,是先执行代码块,然后执行构造器。所以静态代码块、代码块、构造器的执行顺序是:静态代码块→代码块→构造器。
再说作用:静态代码块是用于初始化类的(在加载类时执行,只执行一次),代码块是用于初始化对象的(在创建对象时执行,每次创建对象时都执行),构造器是用于创建对象的。