Java 普通代码块静态代码块执行顺序(实例讲解)

时间:2022-09-09 19:30:48

如下所示:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
class B {
 
 public B() {
  super();
  System.out.println("构造器B");
 }
 {
  System.out.println("普通的代码块B");
 }
 static{
  System.out.println("静态代码块B");
 }
 
}
public class ClassA extends B {
 
 public ClassA() {
  super();
  System.out.println("构造器A");
 }
 {
  System.out.println("普通的代码块A");
 }
 static{
  System.out.println("静态代码块A");
 }
 public static void main(String[] args) {
  ClassA a=new ClassA();
 }
}

运行结果如下:

静态代码块B
静态代码块A
普通的代码块B
构造器B
普通的代码块A
构造器A

可以看到静态代码块被优先执行,然后是父类的普通代码块,父类构造器,然后才是子类的普通代码块,子类构造器

以上这篇Java 普通代码块静态代码块执行顺序(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:http://www.cnblogs.com/PersistWp/p/7406004.html