黑马程序员技术交流社区
标题:
新手提问贴
[打印本页]
作者:
QQ1002730074
时间:
2017-6-29 16:04
标题:
新手提问贴
最近在看java基础视频,有点不懂,这个有参构造方法与set方法的作用不是一样么?对属性改变内容,初始化与后来在赋值是不是一样的?调用无参构造方法对数据进行初始化,初始化后,无参构造方法弹出栈后,初始化的数据还能继续使用?不是随着无参构造方法一桶弹出栈了?新手一个,还望大神讲解一下吧,谢谢啦实在有点转不来了
无奈╮(╯_╰)╭在手机上发送提问贴板块,一直发送失败,不知道为啥只能发到新手报道了~
作者:
QQ1002730074
时间:
2017-6-29 16:06
构造方法还是不知道它的独特作用在哪里
作者:
a424607762
时间:
2017-6-30 00:08
有参构造方法是初始化用的!无参的可以改变参数,有参的不能直接改变必须从新创建对象!
作者:
zealler
时间:
2017-6-30 00:41
你创建无参构造方法,在其他类中创建对象时只能是无参的。你创建有参构造方法以后还不加一个无参的,在其他类中创建对象只能带参创建,因为你创有参构造后默认的无参构造就没了,需要手动写一个。对成员变量赋值可以用有参构造也可以用set方法,看个人喜好。还有关于堆栈,调用构造方法一般是new 加一个构造方法,注意这个new +构造方法出来以后是在堆内存中的!初始化的成员变量也在堆内存的构造方法开辟的空间里!创建对象的过程在主方法里,也就是在栈内存里!创建对象也就是在调用构造方法,一直到主方法走完,在栈内存中消失,你创建的对象也就跟着消失了,那就不能指向new+构造方法了,这时你赋值的成员变量才消失!我也是刚刚学到这里,以上全是我个人观点,有错误请批评
作者:
zealler
时间:
2017-6-30 00:43
QQ1002730074 发表于 2017-6-29 16:06
构造方法还是不知道它的独特作用在哪里
独特之处就在于给成员变量赋值,不需要set
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2