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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马--马超 初级黑马   /  2012-8-3 10:55  /  1928 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 黑马--马超 于 2012-8-4 12:48 编辑

构造函数与构造代码块有什么区别,个有什么用途?
构造代码与static构造代码块有何区别,各有什么用途?

已解决

评分

参与人数 1技术分 +1 收起 理由
田建 + 1 神马都是浮云

查看全部评分

4 个回复

倒序浏览
构造函数与构造代码块有什么区别,个有什么用途?

构造函数:构造函数的主要作用是完成对象的初始化工作,用于对类的成员变量进行初始化
构造代码块:在类中没有任何的前缀或后缀,并使用{}括起来的代码块称为构造代码块。
            主要作用和构造方法差不多用于初始化实例变量和实例环境

构造函数和构造代码块的关系都是在对象建立时对对象进行初始化工作,并且构造代码块优先构造函数执行。


构造代码块与static构造代码块有何区别,各有什么用途?

直接在类中定义没有加static关键字的代码块称为构造代码块与而使用static关键字生命的代码块成为static构造代码块
他们都是用来在对象建立时对对象进行初始化工作的,区别在于静态代码块是用来为静态属性初始化的。
回复 使用道具 举报

构造函数与构造代码块的作用都是给对象进行初始化。它们的区别在于:构造代码块是给所有对象进行统一初始化,而构造函数是给对应的对象初始化。
静态代码块的特点,随着类的加载而执行,只执行一次,并优先于主函数执行,用于给类进行初始化。
构造代码块定义的是不同对象的共性的初始化内容。

评分

参与人数 1技术分 +1 收起 理由
包晗 + 1 鼓励一下

查看全部评分

回复 使用道具 举报
可以看下视频第五、六天
构造代码块和构造函数的区别:
构造代码块是给所有对象进行统一初始化
而构造函数是给对应的对象初始化。

构造代码块与静态代码快的区别:
构造代码块给对象进行初始化。
静态代码块用给类进行初始化,只执行一次,不能访问非静态变量。
---------------------------------------------------------------------------------------------------------------------------------------------------------------
构造函数
特点:
1、 函数名与类名相同
2、不用定义返回值类型
3、不可以写return语句
作用:
给对象进行初始化。
注意:
1、默认构造函数的特点。
2、多个构造函数是以重载的形式存在的。
对象一建立就会调用与之对应的构造函数。
构造函数的作用:可以用于给对象进行初始化。
构造函数的小细节:
当一个类中没有定义构造函数时,那么系统会默认给类加入一个空参数的构造函数
当在类中自定义了构造函数后,默认的构造函数就没了
构造函数和一般函数区别:
构造函数是在对象一建立就运行,给对象初始化。
而一般方法是对象调用才执行,给是对象添加对象具备的功能
一个对象建立,构造函数只运行一次。
而一般方法可以被该对象调用多次
当分析事物时,该事物存在具备一些特性或者行为,那么将这些内容定义在构造函数中。
--------------------------------------------------------------------------------------------
构造代码块。
作用:给对象进行初始化。
对象一建立就运行,而且优先于构造函数执行。
构造代码块中国定义的是不同对象共性的初始化内容。
------------------------------------------------------------------------------------------
静态代码块。
格式
static
{
        静态代码块中的执行语句。
}

特点:随着类的加载而执行,只执行一次,并优先于主函数
用于给类进行初始化的。

评分

参与人数 1技术分 +1 收起 理由
田建 + 1 赞一个!

查看全部评分

回复 使用道具 举报
1:提问贴,主题分类选择“提问”,提问后,问题已经解决了必须及时在贴内回复内容“问题已经解决”。
(如查明问题确实已解决,楼主未在贴内回帖说明,解决后的24小时之内 问题 提问者 扣除 技术分 1分,如有特殊情况请在贴内说明,让管理人员知道你的实际情况)

2:非真实姓名注册论坛用户ID提问,解决问题,不提供任何技术分加分。(非真实姓名发帖,版主和管理人员有权直接关闭贴)
申请论坛改名地址:http://bbs.itheima.com/thread-19719-1-1.html
如果姓名已经有人注册
例如:王鹏 这个ID被注册了,那么你可以改成“黑马-王鹏”“黑马粉-王鹏”“黑马_王鹏”“黑马王鹏”都是可以的!

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