静态代码块和静态方法执行顺序,构造器和静态代码块谁先执行
如何解决写爬虫IP受阻的问题?立即使用。
本教程运行环境:windows7系统,java8版本8,DELL G3电脑。
构造代码块、静态代码块和构造方法是一个类中三个不同的代码块,那么它们之间有什么区别呢?
一、三种代码块简介
静态代码块:用staitc声明,jvm加载类时执行,只执行一次。
构建块:由类中的{}直接定义,每次创建对象时执行。
执行顺序优先级:静态块、main()、构建块和构建方法。
A级
{
//构造一个代码块
{
System.out.println(建筑代码块A );
}
//静态代码块
静电
{
System.out.println(“静态代码块A”);
}
//构造方法
公共A()
{
System.out.println(“构造方法A”);
}
}
二、三者的执行顺序
为了搞清楚三者的执行顺序,我们实例化A类,分别测试单实例和多实例。
2.1 单个实例
课程演示
{
公共静态void main(String[] args)
{
新A();
}
}
2.2 多个实例
课程演示
{
公共静态void main(String[] args)
{
新A();
新A();
新A();
}
}
三、继承体系中的顺序
B类扩展了A
{
//构造一个代码块
{
System.out.println(建筑代码块B );
}
//静态代码块
静电
{
System.out.println(“静态代码块b”);
}
//构造方法
公共B()
{
System.out.println(“构造方法b”);
}
}
课堂演示
{
公共静态void main(String[] args)
{
new B();
}
}
:
四、总结
1.在创建对象的过程中,三者的执行顺序是:静态代码块-构造代码块-构造方法;
2.每创建一个对象,构造代码块和构造方法都会执行一次;不管创建多少个对象,静态代码块只在创建第一个对象时执行一次;
3.创建子类对象时,子类的静态代码块在父类的静态代码块之后执行,但优先于父类的构造代码块和构造方法;
4.创建子类对象时,子类的构造代码块在父类的构造方法之后执行。
相关视频教程推荐:Java视频教程以上是静态代码块的执行顺序,构造代码块,构造方法的详细介绍。请多关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。