java复习基础篇——代码执行顺序
2018-08-02 05:52:56来源:博客园 阅读 ()
代码块:在Java中,使用{}括起来的代码成为代码块
根据其位置和声明的不同,可以分为局部代码块:局部位置,用于限定变量的生命周期
构造代码块:在类中的成员位置,用{}括起来的代码。每次调用构造方法执行前,都会先执行构造代码块。
作用:可以把多个构造方法的共同代码放在一起。
静态代码块:在类中的成员位置,用{}括起来的代码,只不过它用static修饰
作用:一般是对类进行初始化
public class BlockTest {
{
System.out.println("444 BlockTest构造代码块(上)!");
}
public static void main(String[] args) {
{
System.out.println("222 局部代码块运行!");
}
System.out.println("333 BlockTest主方法执行了");
BlockTest blockTest = new BlockTest();
Coder cd = new Coder();
Coder cd2 = new Coder();
}
static {
System.out.println("111 BlockTest静态代码块被执行");
}
{
System.out.println("555 BlockTest构造代码块被执行(下)");
}
public BlockTest() {
System.out.println("666 BlockTest无参构造执行");
}
} class Coder {
static {
System.out.println("777 Coder静态代码块被执行");
}
{
System.out.println("888 Coder构造代码块被执行");
}
public Coder() {
System.out.println("999 Coder无参构造执行");
}
}
执行顺序结果:
【1】静态代码块
作用:是对类进行初始化,若一个类包含多个静态代码块,那则是按照代码执行顺序执行。
1.随着类的加载而执行,而且只一次。
2.优先于主函数执行。
3. 当类进入内存时,首先进行静态代码加载,例如静态代码块,用static 修饰的变量,函数等。静态代码块用于初始化类。构造函数是对对象进行初始化,而静态代码块可以对类进行初始化,就如在静态代码块中把静态变量 num 修改他的值。而且在一些不需要对类实例化的场合,静态代码块也可以非常有用。
【2】构造代码块
在类中:
格式:{构造代码块执行语句}
作用:就是给所有对象进行初始化。
注意几点:1.每次创建对象他都会执行。
2.构造代码快是优于构造函数执行。
3.构造代码块与构造函数的区别是:构造代码块是给所有对象进行统一初始化,而构造函数是给对应的对象初始化,因为构造函数是可以多个的,运行哪个构造函数就会建立什么样的对象,但无论建立哪个对象,都会先执行相同的构造代码块。也就是说,构造代码块中定义的是不同对象共性的初始化内容。
【3】局部代码块
局部代码块,又叫普通代码块。它是作用在方法中的代码块。
作用:是控制变量的生命周期。
在程序中当我们定义完成一个局部变量x之后,并且在接下来的代码中,不想再用到它时,那么就没必要让x在内存中继续占用空间。因此就有了局部代码块。
面试题?
静态代码块、构造代码块、构造方法的执行顺序?
静态代码块>构造代码块>构造方法
静态代码块:只执行一次
构造方法:每次调用构造方法都执行
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:Hibernate:查询
- 国外程序员整理的Java资源大全(全部是干货) 2020-06-12
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- 2020年java就业前景 2020-06-11
- 04.Java基础语法 2020-06-11
- Java--反射(框架设计的灵魂)案例 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash