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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© QQ1002730074 中级黑马   /  2017-6-29 16:04  /  914 人查看  /  4 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

最近在看java基础视频,有点不懂,这个有参构造方法与set方法的作用不是一样么?对属性改变内容,初始化与后来在赋值是不是一样的?调用无参构造方法对数据进行初始化,初始化后,无参构造方法弹出栈后,初始化的数据还能继续使用?不是随着无参构造方法一桶弹出栈了?新手一个,还望大神讲解一下吧,谢谢啦实在有点转不来了无奈╮(╯_╰)╭在手机上发送提问贴板块,一直发送失败,不知道为啥只能发到新手报道了~
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端

4 个回复

倒序浏览
构造方法还是不知道它的独特作用在哪里
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
有参构造方法是初始化用的!无参的可以改变参数,有参的不能直接改变必须从新创建对象!
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
你创建无参构造方法,在其他类中创建对象时只能是无参的。你创建有参构造方法以后还不加一个无参的,在其他类中创建对象只能带参创建,因为你创有参构造后默认的无参构造就没了,需要手动写一个。对成员变量赋值可以用有参构造也可以用set方法,看个人喜好。还有关于堆栈,调用构造方法一般是new 加一个构造方法,注意这个new +构造方法出来以后是在堆内存中的!初始化的成员变量也在堆内存的构造方法开辟的空间里!创建对象的过程在主方法里,也就是在栈内存里!创建对象也就是在调用构造方法,一直到主方法走完,在栈内存中消失,你创建的对象也就跟着消失了,那就不能指向new+构造方法了,这时你赋值的成员变量才消失!我也是刚刚学到这里,以上全是我个人观点,有错误请批评
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
QQ1002730074 发表于 2017-6-29 16:06
构造方法还是不知道它的独特作用在哪里

独特之处就在于给成员变量赋值,不需要set
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马