
正文
java类的静态代码块,类的静态代码块什么时候执行
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
java静态代码块问题
先说执行顺序:我们在new一个对象时,如果类还没加载,就需要先将类加载到内存,此时就会执行静态代码块,在创建对象时,是先执行代码块,然后执行构造器。
Java也是一样,Java的.class字节码文件要想执行,首先也要加载到内存,由类加载器把字节码文件的代码加载到内存中,这一步就叫类加载,这是首先要进行的。
在命令行输入:java TestStatic ,代表着调用TestStatic的main方法。加入如下代码就行了。
静态方法:需要在项目启动的时候就初始化,在不创建对象的情况下,这种代码是被动执行的(静态方法在类加载的时候就已经加载 可以用类名直接调用)。
类加载的时候就会去执行静态代码块的内容。比如说:写连接数据库的那些内容时,经常有classforName(XXX),用于加载一些东西,这些东西就可以写在静态代码块中。还有一些,你想让类加载时就执行的程序也可以放在里面。
相关问答
Q1: java中详解静态代码块,构造代码块,构造方法。求简单易懂的解释
1、普通代码块:是最常见的代码块,在方法里用一对“{}”括起来的数据,就是普通的代码块,构造代码块:是在类中直接定义的,用“{}”括起来的代码。每次调用构造方法前执行,都会先执行构造代码块。
2、构造代码块:执行时间比静态代码块晚,比构造函数早,和构造函数一样,只在对象初始化的时候运行。没有名字、参数和返回值。静态代码块:最早执行,类被载入内存时执行,只执行一次。没有名字、参数和返回值,有关键字static。
3、先说执行顺序:我们在new一个对象时,如果类还没加载,就需要先将类加载到内存,此时就会执行静态代码块,在创建对象时,是先执行代码块,然后执行构造器。
Q2: Java静态代码块和静态方法的区别
两者的区别就是:静态代码块是自动执行的;静态方法是被调用的时候才执行的.静态方法 (1)在Java里,可以定义一个不需要创建对象的方法,这种方法就是静态方法。要实现这样的效果,只需要在类中定义的方法前加上static关键字。
两者的区别是静态代码块是主动执行的,静态方法是被动执行,只有被调用时才执行。构造函数在创建对象的时候执行。成员方法在被调用的时候执行。总结:Java代码执行先后顺序:静态代码块静态方法构造函数=非静态代码块。
)静态类变量(修饰成员变量):Static int data语句说明data为类变量,为一个类的共享变量,是所有对象共享的,它不 属于任何对象,是属于整个类的(静态方法也是一样)。
Q3: java中的静态代码块、代码块、构造器的执行顺序是怎样呢,这三者有什...
java中首先是静态块先执行,静态方法,最后是构造函数。
静态代码块:用staitc声明,jvm加载类时执行,仅执行一次 构造代码块:类中直接用{}定义,每一次创建对象时执行。执行顺序优先级:静态块,main(),构造块,构造方法。
java逻辑代码块是指使用{}大括号内的代码片段,为了实现某种逻辑和主类区分开来的一段代码。
构造代码块:用于给对象初始化的。只要建立对象该部分就会被执行,且优先于构造函数。构造函数: 给对应对象初始化的,建立对象时,选择相应的构造函数初始化对象。
父类静态代码块;子类静态代码块;父类非静态代码块;父类构造函数;子类非静态代码块;子类构造函数;举例:public class ExA { static { System.out.println(父类静态代码块。
Q4: java中静态代码块和构造代码块的区别
静态块在一个程序里面只执行一次;而构造块是,只要建立一个对象,构造代码块都会执行一次。
相同点:每创建一个对象,构造代码块和构造函数都执行一次,不同点:执行的顺序不同,先执行构造代码块,再执行构造方法。
构造代码块:是在类中直接定义的,用“{}”括起来的代码。每次调用构造方法前执行,都会 先执行构造代码块。静态代码块:他在类中的成员位置,用“{}”括起来的代码。
也就是说,构造代码块中定义的是不同对象共性的初始化内容。所以理所当然的,构造代码块在构造函数之前执行。
构造器的执行顺序是:静态代码块→代码块→构造器。再说作用:静态代码块是用于初始化类的(在加载类时执行,只执行一次),代码块是用于初始化对象的(在创建对象时执行,每次创建对象时都执行),构造器是用于创建对象的。
Q5: 求java大神什么是静态代码块啊,网上写的看不懂啊。平时只用过public...
比如你平常写的方法是public void ff(){}。静态代码块就是直接 static{ } 这样写是因为加载这个类的时候会自动加载这个,不用调用。给个看个图片吧。有问题可以追问,望采纳。
这个叫static代码块,这个代码块里面的语句,比构造器里面的语句执行的还要早。和static变量同时被初始化,然后再去执行构造器里的语句。
静态方法:需要在项目启动的时候就初始化,在不创建对象的情况下,这种代码是被动执行的(静态方法在类加载的时候就已经加载 可以用类名直接调用)。
java类的静态代码块的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于类的静态代码块什么时候执行、java类的静态代码块的信息别忘了在本站进行查找喔。






