黑马程序员技术交流社区
标题:
构造代码块和静态代码块的区别
[打印本页]
作者:
全超
时间:
2013-3-24 18:50
标题:
构造代码块和静态代码块的区别
本帖最后由 全超 于 2013-3-24 19:47 编辑
构造代码块和静态代码块之间的区别谁给详细说说?
作者:
谷文仁
时间:
2013-3-24 18:55
静态代码块是在类一被加载的时候就执行,如果在静态代码块中加入System.exit(0);语句,则会直接结束这个程序,不会再执行main函数中的语句。而构造代码块则不同,因为要先建立对象,再调用代码块中的语句,所以main函数是肯定要执行的。
作者:
我手心里的宝
时间:
2013-3-24 19:19
静态代码块随着类的加载而加载,而且只执行一次,在创建对象之前执行,而构造代码块类是在穿件对象时运行,是为所有对象共同属性初始化的,
执行顺序先执行静态代码块,然后构造代码块,最后是构造函数
作者:
freeboyhrk
时间:
2013-3-24 19:20
本帖最后由 freeboyhrk 于 2013-3-24 19:23 编辑
静态代码块:
static
{
执行语句;
}
特点:随着类的加载而加载,只执行一次,用于给类进行初始化,优先于主函数。
构造函数:
特点:1.函数名与类名相同。
2.不用定义返回值类型。
3.不可以写return语句。
作用:给对象进行初始化。
当类中没定义构造函数时,系统会默认给该类加入一个空参数的构造函数,自定义后,系统默认的构造函数就没有了。一个对象建立,构造函数只运行一次。
什么时候定义构造函数?当分析事物时,该事物存在就具备一些特性或行为,将这些内容定义在构造函数中。
构造代码块:
{
执行语句;
}
作用:给对象进行初始化,对象一经建立就运行,优先于构造方法执行。
构造代码块定义的是不同对象共性的初始化内容。给所有对象统一初始化。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2