黑马程序员技术交流社区

标题: 为什么第二次打zhouchang的值是0 [打印本页]

作者: /mg依恋    时间: 2014-7-25 23:09
标题: 为什么第二次打zhouchang的值是0
问一下,为什么第二次周长是0,请简要解答一下。

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

123.jpg

作者: 单线程xia    时间: 2014-7-25 23:22
对象创建时,height 和width默认是0,zhouchang也就是0,然后你给height和width赋了值,但是zhouchang可是没有重新赋值。所以是0.
建议写构造方法,另外方法名写主流一点,成员变量的get set方法也要写上
作者: 烟海    时间: 2014-7-25 23:24
0715班的同学。。。
看到了支持下。。。
群里已经回答过了。。。。
也考安卓?
作者: /mg依恋    时间: 2014-7-25 23:42
烟海 发表于 2014-7-25 23:24
0715班的同学。。。
看到了支持下。。。
群里已经回答过了。。。。

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

这边回答的挺清晰的。。。
可以看看。。。
或者自己画画内存图吧 。。。
作者: wisely    时间: 2014-7-26 00:19
变量的初始化过程……




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2