继承与初始化:
    先执行基类和新类中的static域(基类中的static域先执行,新类中的static后执行。且static域只执行一次),基类中的普通域,基类中的构造器。新类中的普通域,新类中的构造器。

    1. package com.zx.test07.test07_01;
    2. class One{
    3. One(String str){
    4. System.out.println(str+" "+"one()");
    5. }
    6. }
    7. class Insect {
    8. One one=new One("基类");
    9. protected int j;
    10. Insect(){
    11. System.out.println("Insect()");
    12. j=2;//为j赋值
    13. }
    14. private static int x1 = printInit("Insent中的static x1 初始化");
    15. static int printInit(String s) {
    16. System.out.println(s);
    17. return 47;
    18. }
    19. }
    20. public class Beetle extends Insect{
    21. One one=new One("新类");
    22. private int k=printInit("Beetle.k initialized");
    23. Beetle(){
    24. System.out.println("k="+k+" "+"j="+j);
    25. }
    26. private static int x2 = printInit("Beetle中的static x2 初始化");
    27. public static void main(String[] args) {
    28. Beetle beetle = new Beetle();
    29. }
    30. }
    31. //Output
    32. Insent中的static x1 初始化
    33. Beetle中的static x2 初始化
    34. 基类 one()
    35. Insect()
    36. 新类 one()
    37. Beetle.k initialized
    38. k=47 j=2