首页 > 其他 > 详细

Java static变量、成员变量、构造函数 三者的初始化顺序

时间:2014-03-04 12:48:23      阅读:520      评论:0      收藏:0      [点我收藏+]

Java代码中父类和子类中,static变量 --  成员变量  --  构造函数 三者的调用先后顺序:

       先初始化父类Static --> 再初始化子类的Static -->  再初始化父类的其他成员变量->父类构造方法->子类其他成员变量->子类的构造方法。

    系统默认值的给予比通过等号的赋予先执行。

      一个类中的static变量或成员变量的初始化顺序,是按照声明的顺序初始化的。

 

 

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
public class Main {
     
    public static void main(String[] args) {
        B b = new B();
    }
     
    public static class A {
        public static MyClass1 myClass1 = new MyClass1();
        private MyClass2 myClass2 = new MyClass2();
         
        A(){
            System.out.println("A的构造函数");
        }
    }
     
    public static class B extends A {
        public static MyClass3 myClass3 = new MyClass3();
        private MyClass4 myClass4 = new MyClass4();
         
        B(){
            System.out.println("B的构造函数");
        }
    }
     
    public static class MyClass1 {
        MyClass1(){
            System.out.println("MyClass1的构造函数");
        }
    }
     
    public static class MyClass2 {
        MyClass2(){
            System.out.println("MyClass2的构造函数");
        }
    }
     
    public static class MyClass3 {
        MyClass3(){
            System.out.println("MyClass3的构造函数");
        }
    }
     
    public static class MyClass4 {
        MyClass4(){
            System.out.println("MyClass4的构造函数");
        }
    }
     
}

 

  代码运行的结果是:

    MyClass1的构造函数
    MyClass3的构造函数
    MyClass2的构造函数
    A的构造函数
    MyClass4的构造函数
    B的构造函数

  

            

Java static变量、成员变量、构造函数 三者的初始化顺序,布布扣,bubuko.com

Java static变量、成员变量、构造函数 三者的初始化顺序

原文:http://www.cnblogs.com/systudio/p/3579154.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!