黑马程序员技术交流社区
标题: 谁有代码块之间的区别 [打印本页]
作者: 一城一世界 时间: 2015-7-29 17:32
标题: 谁有代码块之间的区别
静态代码块,局部代码块,构造代码块之间的区别,用法以及注意事项,知道的说下,谢谢~
作者: boboyuwu 时间: 2015-7-29 19:36
我不喜欢把简单的事情搞的很复杂也不想复制网上的给你, 静态代码块在类初始化的时候首先执行,先执行父类的然后执行子类的,然后执行父类局部代码块,然后执行子类局部代码块,最后是父类构造代码块,最后是子类的构造代码块
作者: 0618-蔺飞飞 时间: 2015-7-29 19:55
本帖最后由 0618-蔺飞飞 于 2015-7-29 19:56 编辑
静态代码块是用static修饰的代码块,它的作用跟静态作用是一样的,局部代码块是定义在方法区的代码块,构造代码块就是方法名与类名相同的代码块.
这些抽象的概念还是需要记忆的同时多练习的,希望能帮到你
作者: ColdMoon 时间: 2015-7-29 20:10
本帖最后由 ColdMoon 于 2015-7-29 20:12 编辑
静态代码块、构造代码块和构造函数的作用及区别:
静态代码块:用于给类初始化,类加载时就会被加载执行,只加载一次。(给类初始化,缺点:生命周期较长)
如果类中包含多个静态代码块,那么将"先定义的代码先执行,后定义的代码后执行"。
注意: 静态代码块不能存在于任何方法体内。静态代码块不能直接访问静态实例变量和实例方法,需要通过类的实例对象来访问。 构造代码块:用于给所有对象初始化的。只要建立对象该部分就会被执行,且优先于构造函数。(给所有对象进行初始化,每次创建对象都会被调用)
构造函数: 给对应的对象进行针对性的初始化,建立对象时,选择相应的构造函数初始化对象 (限制局部变量的生命周期)
创建对象时,三者被加载执行顺序:静态代码块--->构造代码块--->构造函数
作者: henghenghalala 时间: 2015-7-29 20:36
代码块分为: 局部代码块(在局部位置,限定变量的生命周期),构造代码块(在类中的成员位置,每次调用构造方法执行前,都会先执行构造代码块,可以把多个构造方法(对调用的对象进行初始化)中相同的代码放到一起,对所有对象进行初始化),静态代码块(在类中成员位置 用static修饰,只加载一次。是对类进行初始化,因为静态是随着类的加载而加载)
代码块执行顺序:
静态代码块~构造代码块~构造方法
不会因为在程序中出现的先后顺序而改变。
而且静态代码块只执行一次 (对类进行初始化,执行一次即可)
构造代码块:每次调用构造方法时都会执行。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |