
正文
java代码块和执行顺序 java代码块的流行风格有哪些
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
java 调用静态方法和构造函数和静态块执行的先后顺序
java中首先是静态块先执行,静态方法,最后是构造函数。示例如下:
public class ExA {
static {
System.out.println("父类--静态代码块");
}
public ExA() {
System.out.println("父类--构造函数");
}
{
System.out.println("父类--非静态代码块");
}
public static void main(String[] args) {
new ExB();
}
}
class ExB extends ExA {
static {
System.out.println("子类--静态代码块");
}
{
System.out.println("子类--非静态代码块");
}
public ExB() {
System.out.println("子类--构造函数");
}
}
执行结果
=====
父类--静态代码块
子类--静态代码块
父类--非静态代码块
父类--构造函数
子类--非静态代码块
子类--构造函数
相关问答
Q1: java几种代码块的执行顺序实例
顺序执行,就是正常情况下
选择执行(分支),就是用if else...可以使用多次,还有个switch case
循环执行,常用的用for循环,while循环,do while循环
就我理解题意好像就这三种
Q2: 如果一个java类中同时有多个静态代码块,那它们的执行顺序是怎样的?
像这样的情况,自己动手测试下,比谁说的都有说服力!
通过测试,可以看的出静态代码块之间是平级的,按照顺序在执行的!
Q3: java代码执行顺序是怎样的
java代码执行顺序一般按照以下规则:
1.
从上往下,从左往右。
2.
如果是在
if
表达式中,且有多个表达式,中间是(并去)关联的,那么,第一个不符合,那么右边的表达式都不会去比或计算了。同理,如果是多个表达式,但用
||(或者)
关联的,那么第一个表达式符号条件的话,就直接进入if
了,右边的表达式就不会再去计算了。
Q4: Java的静态块和初始化块分别何时执行?有什么区别?
静态初始化块:当类第一次加载时执行。
非静态初始化块:非静态初始化块会在构造函数执行时,且在构造函数主体代码执行之前被执行。
区别如下:
1、执行次数不同
静态块只执行一次,初始化块可以执行多次。
2、作用不同
静态初始化块仅能初始化类变量,即static修饰的数据成员。
非静态初始化块可以初始化类的实例变量。
扩展资料:
使用Java静态代码块注意事项:
1、它是随着类的加载而执行,只执行一次,并优先于主函数。具体说,静态代码块是由类调用的。类调用时,先执行静态代码块,然后才执行主函数的。
2、静态代码块其实就是给类初始化的,而构造代码块是给对象初始化的。
3、静态代码块中的变量是局部变量,与普通函数中的局部变量性质没有区别。
4、一个类中可以有多个静态代码块。
5、对于静态变量、静态初始化块、变量、初始化块、构造器,它们的初始化顺序依次是(静态变量、静态初始化块)(变量、初始化块)构造器。
java代码块和执行顺序的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java代码块的流行风格有哪些、java代码块和执行顺序的信息别忘了在本站进行查找喔。






