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
因为水平有限,难免有疏忽或者不准确的地方,希望大家能够直接指出来,我会及时改正。一切为了知识的分享。
后续会有更多的精彩的内容分享给大家。
支付宝扫一扫
微信扫一扫
