很多新人关于访问控制符根本不知道有什么作用,所以在写代码的时候不能很好的控制自己提供的类库给别人使用,在更多的项目中,大家似乎更加倾向于public来显示开放性?我倒是觉得可能根本弄不清楚作用域,所以干脆就public好了,但是在架构设计的时候,我认为如果不能很好的理解作用域范围,那么逻辑分层也会分不清。
首先要知道Java中访问控制符有哪几种:public、protected、缺省、private。
这里我盗个图来比较一下,更方便记忆。
![](https://i-blog.csdnimg.cn/blog_migrate/e267f438e73d4f5176c484b03b92976c.png)
这里我们看到只有子类,并没有子包的概念,比如:com.tmsps.ne4spring.orm 与 com.tmsps.ne4spring.orm.model 到底是什么关系?
在java中我没有找到子包的定义,针对包名来说,仅仅是命名空间而已,他们只是看起来好像是一条线,但是其实是两个独立的空间。