隐藏实施过程
OOP(面向对象设计)的一条准则是:把变化的部分同不变的部分进行分割开;其设计原则是只为用户提供用户想用的接口和方法,对一些易于改动的方法和成员变量进行私有化。
java访问控制符
java中存在着4种访问指示符,可以有效的控制类成员和方法的访问权限,分别为public
, “友好的
”(无关键字), protected
和private
,其访问权限如下表:
指示符 | 本类 | 同包 | 不同包子类 | 不同包非子类 |
---|---|---|---|---|
public | √ | √ | √ | √ |
protected | √ | √ | √ | |
friendly | √ | √ | ||
private | √ |
包跟库
- 为了管理“命名空间”,java通过包的概念来区分不同的类,因此包需要是独一无二的,一般是反转域名来进行本地包的命名,包将一些功能相同的类组合在一起。
- 类文件里必须有一个和类文件名相同的
public
类 - 各个包的集合就形成了库,对外发布给他人使用的代码,我们通常是以类库的形式提供的。
package
指定当前编译类所属的包,import
导入相关包下的类- java编辑器默认导入
java.lang.*
包下的所有类
类的搜索路径
- java程序运行时要导入相应的类,也就是加载.class文件的过程;.class文件是由java编译器编译.java文件后产生的字节码文件(能被JVM识别的文件)。
- java编译器的搜索路径是由环境变量
CLASSPATH
指定的类库路径顺序来决定的,如环境变量CLASSPATH.;%JAVA_HOME%\lib;
指定加载所需的类的路径,java编译器会在.
目录下(当前目录下)开始查找所需类,如果找到,则停止搜索;否者在下一个路径%JAVA_HOME%\lib
路径下搜索,都不能找到则编译或者抛出异常。 - 你可以在
CLASSPATH
在添加搜索路径,这样此目录下的类文件就能在当前系统下的任何地方使用。 - 自动编译,如果在搜索路径中发现相同的.java和.class文件;如果.java文件比.class文件比较新,则编译.java文件生成新的.class文件