java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE, JavaME, JavaSE)的总称。本站提供基于Java框架struts,spring,hibernate等的桌面应用、web交互及移动终端的开发技巧与资料

保持永久学习的心态,将成就一个优秀的你,来 继续搞起java知识。

1单个类加载时,会按照静态代码块,代码块,构造函数的顺序进行加载。例如:
1public class Main
 {
    public static void main(String[] args)
    {
        Shape s=new Shape();        
    }
}

public class Shape {
    static
    {
        System.out.println("shape静态初始化块已执行!");
    }
    {
        System.out.println("shape初始化块已执行!");
    }
    public Shape()
    {
        System.out.println("Shape构造函数已执行!");
    }
}

执行结果如下:

shape静态初始化块已执行!

shape初始化块已执行!

Shape构造函数已执行!

1当子类Circle继承父类Shape,加载子类时,会依次加载父类的静态代码块,子类的静态代码块,父类的代码块,父类的构造函数,子类的代码块,子类的构造函数。
1public class Main {
    public static void main(String[] args)
    {
        Circle c=new Circle(3);     
    }
}
public class Shape {
    {
        System.out.println("shape初始化块已执行!");
    }
    static
    {
        System.out.println("shape静态初始化块已执行!");
    }
    public Shape()
    {
        System.out.println("Shape构造函数已执行!");
    }
}
public class Circle extends Shape
{
    static
    {
        System.out.println("Circle静态初始化块已执行!");
    }
    {
        System.out.println("Circle初始化块已执行!");
    }
    public Circle(double radius)
    {
        System.out.println("Circle构造函数已执行!");
    }
}

执行结果如下:

shape静态初始化块已执行!

Circle静态初始化块已执行!

shape初始化块已执行!

Shape构造函数已执行!

Circle初始化块已执行!

Circle构造函数已执行!

java

因为水平有限,难免有疏忽或者不准确的地方,希望大家能够直接指出来,我会及时改正。一切为了知识的分享。

后续会有更多的精彩的内容分享给大家。