PDF 课件和源代码下载地址:
https://gitee.com/geektime-geekbang/LetsJava
作者回复: 这个就我的学习经历,是正常的。第一章里的知识点,还是可以做到循序渐进的,而且知识点之前没有太多的关联。 到了第二篇,面向对象的内容,知识点之间开始互相关联了。如果之前学的还没熟透,新的内容可能就是生上加生。所以多想多写程序,练熟练度,对学习很有帮助,而且是必不可少的。 同时,面向对象部分的内容,也确实是一种跳跃,这个没法循序渐进(其实我尽量循序渐进了,数组就是最简单的类和对象),就好像加减法学好之后,下一步就是解方程,这是一个思维的跳跃,要多做题(写代码),才能慢慢领悟。 P.S. 你能想象我们当时学习的时候,上来就是面向对象new Object么。苦的很……
作者回复: ✅,运行时实参赋值给形参
作者回复: 哈哈,有人说编程中一半的时间是在给各种变量,方法和类型起名字
作者回复: 对,知错就改。谢谢指出错误 https://github.com/deepnighttwo/LetsJava/blob/master/%E7%AC%AC%E4%BA%8C%E7%AB%A0%20Java%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1%E7%BC%96%E7%A8%8B/13.%20%E5%8F%82%E6%95%B0%EF%BC%9A%E8%AE%A9%20Merchandise%20%E8%AE%A1%E7%AE%97%E5%A4%9A%E4%BB%B6%E5%95%86%E5%93%81%E7%9A%84%E6%80%BB%E4%BB%B7/code/src/com/geekbang/supermarket/MerchandiseV2.java#L37
作者回复: 9分10秒,64行,用soldPrice计算售价,没用进价。你的问题是用了进价计算售价吗?是几分几秒的第几行代码?
作者回复: 成员变量是每个类实例都有一份的,一般是在构造方法赋初始值。类没有成员变量,类只有静态变量,一个类只有一份。
作者回复: littleSuperMarket 的 merchandises是一个引用,all也是一个引用,而且两者都是商品数组的引用,所以他们可以指向同一个商品数组对象。既然是同一个商品数组对象,无论用哪个引用操作这个数组对象,都是可以的。
作者回复: Java会自动给转成double的。
作者回复: 不好意思,这方面我也不是很了解。
作者回复: 这个算法的意思是,买两件,第二件(或者说其中一件)半价。买三件,就是一个两件 + 一个一件,就是一个全价 + 一个半价,再加上第三个全价。 所以对于11个商品来说,就是5个半价,6个全价。 129.169 * 6 + 129.169 * 5 / 2=1097.9365