在C++中有命名空间的概念,这是因为,不同的项目或者人写出来的代码,可能名称是一样的。比如,java.util中有List,java.awt中也有List,那么我们在开发中,怎么会知道使用的是哪一个List呢?
在Java中是使用包来管理的,比如你可以这样使用:
import java.util.ArrayList;
java.util.List list = new ArrayList();
既可以像第一行那样,使用import引用包;也可以直接在Java代码中指定包的路径。一般来说,都是使用前者,这样代码比较简洁。
另外,Java中如果你的Java类中使用pacakge 声明了所在的包。那么编译后,需要通过路径才能访问。比如:
package xing.test.thinking.chap6.local;
public class Test{}
想要使用Test这个类,那么Test.class就需要放在xing/test/thinking/chap6/local
目录中才行,不然就会报NoClassDefFoundError
这种错。
在Java中,有下面几种访问权限:
一般来说,任何的属性没有特殊要求,都应该是Private权限的。这样可以保证类之间的独立性。
控制成员访问的意义: