A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 全超 中级黑马   /  2013-3-24 18:50  /  1973 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 全超 于 2013-3-24 19:47 编辑

构造代码块和静态代码块之间的区别谁给详细说说?

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

3 个回复

倒序浏览
静态代码块是在类一被加载的时候就执行,如果在静态代码块中加入System.exit(0);语句,则会直接结束这个程序,不会再执行main函数中的语句。而构造代码块则不同,因为要先建立对象,再调用代码块中的语句,所以main函数是肯定要执行的。

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

回复 使用道具 举报
静态代码块随着类的加载而加载,而且只执行一次,在创建对象之前执行,而构造代码块类是在穿件对象时运行,是为所有对象共同属性初始化的,
执行顺序先执行静态代码块,然后构造代码块,最后是构造函数

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 freeboyhrk 于 2013-3-24 19:23 编辑

静态代码块:
static
{
      执行语句;
}
特点:随着类的加载而加载,只执行一次,用于给类进行初始化,优先于主函数。

构造函数:
    特点:1.函数名与类名相同。
             2.不用定义返回值类型。
             3.不可以写return语句。
    作用:给对象进行初始化。
    当类中没定义构造函数时,系统会默认给该类加入一个空参数的构造函数,自定义后,系统默认的构造函数就没有了。一个对象建立,构造函数只运行一次。
    什么时候定义构造函数?当分析事物时,该事物存在就具备一些特性或行为,将这些内容定义在构造函数中。

构造代码块:
{
      执行语句;
}
作用:给对象进行初始化,对象一经建立就运行,优先于构造方法执行。
构造代码块定义的是不同对象共性的初始化内容。给所有对象统一初始化。

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马