今天看完第7章《实现隐藏》了,本章开头一句话说得很好:
访问控制(或实现隐藏)是关于“最初的实现并不好”的。
因为肯定会重构代码,所以为了不影响依赖我们代码的人,应该考虑将变化的事物与保持不变的事物分离。然后有了库、包(库单元)、访问权限修饰符、包内访问权限、接口和实现、封装、模块等概念。
但在尝试书上的例子时,却报错了:
然后我发现,虽然在用IntelliJ IDEA编写代码,但我只是把它当做编辑器,而没有先创建一个Java工程(模块),然后在工程里面写代码,所以在命令行编译代码会报错,因为这么使用时,JVM是要通过CLASSPATH去找编译后代码的路径的,而如果使用IDE,这些会被自动处理好。
新手应该明晰自己所处的环境,比如其实我刚开始在项目上写java,就直接从Spring Boot开始了,所以很多地方有点懵,用Spring Boot的话,就要熟悉Maven,就像这里使用命令行编译java文件,就要配置好环境变量。