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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© /mg依恋 中级黑马   /  2014-7-25 23:09  /  1551 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

问一下,为什么第二次周长是0,请简要解答一下。

123.jpg (88.17 KB, 下载次数: 30)

123.jpg

6 个回复

倒序浏览
对象创建时,height 和width默认是0,zhouchang也就是0,然后你给height和width赋了值,但是zhouchang可是没有重新赋值。所以是0.
建议写构造方法,另外方法名写主流一点,成员变量的get set方法也要写上
回复 使用道具 举报
0715班的同学。。。
看到了支持下。。。
群里已经回答过了。。。。
也考安卓?
回复 使用道具 举报
烟海 发表于 2014-7-25 23:24
0715班的同学。。。
看到了支持下。。。
群里已经回答过了。。。。

恩,群里回答了,不过还是不怎么明白啊。 同学:lol  0715
回复 使用道具 举报
对象在创建时,还没到你赋值的那步,Rec rec = new Rec();这步会把类的变量进行构造函数初始化(你也可以理解为一创建就执行了从变量到构造函数那块的代码)。因为你没对类中变量赋值,所以都默认为0。你对长和宽赋值之后,int zhouchang = (长+宽)*2;这条语句是不会执行的,所以你调用zhouchang的时候,自然就是默认的0。
回复 使用道具 举报
/mg依恋 发表于 2014-7-25 23:42
恩,群里回答了,不过还是不怎么明白啊。 同学  0715

这边回答的挺清晰的。。。
可以看看。。。
或者自己画画内存图吧 。。。
回复 使用道具 举报
wisely 中级黑马 2014-7-26 00:19:47
7#
变量的初始化过程……
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马