黑马程序员技术交流社区
标题:
关于赋值
[打印本页]
作者:
伍淑江
时间:
2013-3-14 22:04
标题:
关于赋值
本帖最后由 黄玉昆 于 2013-3-16 13:34 编辑
直接赋值和通过构造赋值的区别?
作者:
樊玲
时间:
2013-3-14 22:16
构造函数是用来对对象进行初始化的。默认第一行为this(),会先实例化成员属性。由外界,或者内部来对属性赋值。。。
可以建立外部对象,对变量进行赋值,直接赋值的话,太局限了 .. 代码多的时候,需要用到这个变量了,总不能回到最开始处,手动去改,。。。
作者:
wangjinyu501
时间:
2013-3-14 22:26
效果上没有区别,都是赋值。但是,构造赋值是在对象初始化的时候调用的,而直接赋值一般在其它地方都可以,并且在构造赋值里也是包含直接赋值。
作者:
黑马-王鹏
时间:
2013-3-15 00:01
(1)当一个类中没有定义构造函数时,那么系统就会默认给该类加入一个空参数的构造函数。
(2)当在类中自定义了构造函数时,系统不再构造默认构造函数。
(3)构造函数和一般函数在写法和运用上都不同
构造函数是在对象一建立就开始运行,给对象初始化,而一般方法是对象调用才开始执行,是给对象添加对象具备的功能。
一个对象建立,构造函数只运行一次,而一般函数可以调用多次。
什么时候调用构造函数?
当分析事物时,该事物存在具备一些特性或者行为,那么就将这些内容定义在构造函数中。
作者:
itserious
时间:
2013-3-15 03:30
直接赋值和通过构造赋值的区别?
区别:1. 通过构造函数赋值可以再创建对象的时候进行初始化,并且再但创建多个对象的时候,可以给对象不同的初始化值。
2.直接赋值要优先于构造方法赋值。构造赋值可以对直接赋值进行修改。
注意:在多线程的时候,直接赋值要更安全,不用去管线程同步的安全问题,
但构造方法进行赋值可能会出现安全问题,必须进行安全处理。(例如单例模式中的,饿汉式和懒汉式。)
作者:
HM张超
时间:
2013-3-15 11:11
如果是实体类你
里面有很多属性,你要直接复制,那么好,你增删改的时候 没有set的字段就会有出始值,而且get的时候拿到的值永远不是空,除非你set空了。
这样一来你判断某个字段为不为空就没有意义了!所以实体类一般都不直接复制,
构造复制和set类似!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2