PDF 课件和源代码下载地址:
https://gitee.com/geektime-geekbang/LetsJava
作者回复: 这个就是靠经验,多参与系统的设计开发,就会有设计的感觉。 如果有什么规则规范,那AI就可以设计系统了,就用不着我们了哈。 “面向接口编程,而非实现”,从某个角度来说,就是做事情两步走。举个例子,你在思考一个系统的时候,有ABCDE几个功能,每个功能的输入输出要想清楚,这时候,就用接口吧这些功能模块抽象出来。这时候,脑子不要思考模块内部怎么去实现,也不要把模块之间的交互绑定在某个具体的实现类上。 等大家把接口都定好之后,彼此之间就解绑了。就可以走下一步,去实现每个模块具体的功能。 就好像螺丝和螺母,大家生产的时候,都是根据具体的规范来的,比如直径多大,纹路多深,角度是多少。需要的时候,直接去五金店里买具体规格的螺丝螺母就可以了。而不需要在设计家具的时候,就定好说一定要哪个工厂生产的那一批次的螺丝螺母。
作者回复: IDE是以项目为单位管理的。也就是说一个项目只要有一个源文件编译不够,那么整个项目就会出错,项目里的java程序也无法执行。
作者回复: 对的,接口就是要等着类去实现。 哦,那可能是我大意了,或者是讲解的时候顺手创建了一个实现。最好把接口和实现在package level分开。
作者回复: 出错就不继续编译,这才是正常的设计。
作者回复: 编译错误会有提示的,如果有编译错误就不会执行
作者回复: rebuild project会重新生成class文件的
作者回复: 正常情况下,默认的设置下,IDE会帮你在运行前编译的。 如果没有的话,可以尝试菜单栏里Build 下的Rebuild Project class文件会在out目录下
作者回复: 1)编译,检查文件名和类名是否一样 2)检查class文件是否生成了
作者回复: 嗯呐,一起的,后面自己写代码的成分会越来越高。