java初始化

Posted xiaowk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java初始化相关的知识,希望对你有一定的参考价值。

java中一切皆对象,那就从对象初始化开始说起。

 示例代码:

 1 package test;
 2 
 3 public class A extends B {
 4 
 5     int i;
 6     static int b;
 7     public D firstD = new D("A");
 8     public static C firstC = new C("A");
 9     public static C secondC;
10     {
11         System.out.println("i:"+i);//此时i未初始化,为默认值0
12         System.out.println("b:"+b);
13         System.out.println(secondC);
14     }
15     A(){
16         
17         System.out.println("here is A");
18         i = 1;
19         b = 1;
20     }
21     
22     public static void main(String[] args) {
23         // TODO 自动生成的方法存根
24         new A();
25     }
26 
27 }
28 
29 class B {
30     public static C CinB = new C("B");
31     public D DinB = new D("B");
32     B(){
33         System.out.println("here is B");
34     }
35 }
36 
37 class C {
38     C(String source){
39         System.out.println("here is C from"+source);
40     }
41 }
42 
43 class D {
44     D(String source){
45         System.out.println("here is D from"+source);
46     }
47 }

 

输出:

here is C fromB
here is C fromA
here is D fromB
here is B
here is D fromA
i:0
b:0
null
here is A

 

结论:

1.在初始化时,首先为对象分配一块存储空间(默认为二进制0)

2.初始化顺序:基类静态成员->子类静态成员->基类非静态成员/实例初始化->基类构造器->子类非静态成员/实例初始化->子类构造器

以上是关于java初始化的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Swift 使用此代码片段为 iOS 应用程序初始化 SDK?

Jekyll 偏移代码片段高亮的初始行

java代码在片段活动中不起作用

vscode 用户代码片段 vue初始化模板 Snippet #新加入开头注释 自动生成文件名 开发日期时间等内容

java 代码片段【JAVA】

# Java 常用代码片段