Java中的class为什么要设置访问控制?和C++比较的感悟
在Java中package解决了class的名字空间问题,class的成员都有各自的访问控制符,而class还有两种访问控制符,分别是public和default,但是C++中解决名字空间问题用的是namespace,而class本身就没有访问控制符了,只有class的成员有访问控制符,这是为什么呢?Java中所有的class都成public的,这样要访问哪一个直接import一下,不就好了
我分析认为C++中不同namespace互访的时候,需要using namespace,就好了。而java中不同的package中class互访的时候,光import不够的,因为如果一个class前面没有public的修饰,那么是不能import的,因为它的访问控制范围是package,所以我认为java的访问控制比C++要严格。