java代码块优先运行 java代码块的作用

java中的静态代码块、代码块、构造器的执行顺序是怎样呢,这三者有什么作用呢

先说执行顺序:我们在new一个对象时,如果类还没加载,就需要先将类加载到内存,此时就会执行静态代码块,在创建对象时,是先执行代码块,然后执行构造器。所以静态代码块、代码块、构造器的执行顺序是:静态代码块→代码块→构造器。

创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站建设、成都网站制作、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的宜都网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

再说作用:静态代码块是用于初始化类的(在加载类时执行,只执行一次),代码块是用于初始化对象的(在创建对象时执行,每次创建对象时都执行),构造器是用于创建对象的。

java静态代码块真的能优先执行吗

static代码块是在类初始化时就被虚拟机执行的,所以最先输出的是d。

main方法是静态方法,是在类加载完之后由虚拟机调用的,调用之后才会输出c1。

一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;

java静态代码块真的会优先执行吗

嗯,是的,静态代码块只会加载一次,因为在类加载器进行类加载的时候就已经把它放到内存中了。看如下代码:

public class StaticDemo {

static{

System.out.println("Top");

}

public static void main(String[] args) {//迟于static块

System.out.println("main方法");

}

static{ //直接加载 优先于main方法

System.out.println("Bottom");

}

}

上面这段代码将会依次输出:Top、Bottom、main方法


新闻标题:java代码块优先运行 java代码块的作用
分享链接:http://ybzwz.com/article/ddceooh.html