一 Java为什么提供访问权限修饰符
程序员分为类创建者和客户端程序员。
1 为了使用户不要触碰不应该触碰的部分,这些部分对于类的操作是必须的,但是它不属于客户端程序猿所需接口的一部分,这些部分就指定域为private
2 为了让类创建者可以更改类的内部工作方式,而不必担心对客户端程序员产生重大的影响。
下面是Java权限修饰符权限:
二 如何解决类名称冲突
Java引入了包机制 package,package名称的第一部分是类的创建者的反顺序的Internet域名,域名是独一无二的,因此你的包名称也是独一无二的。
三 Java环境变量CLASSPATH
安装JDK时,要配置CLASSPATH
Java解释器的运行过程:首先找出环境变量CLASSPATH,CLASSPATH包含一个或多个目录,用作查找.class的根目录。
这是我本机的配置:
然后解释器获取包的名称跟据操作系统的不同,产生正斜杠或者反斜杠的路径。
得到的路径会与CLASSPATH中的各个不同的项相连接,解释器就在这些目录中查找与你所要创建的类。
加载器主要有四种:
jvm启动类加载器bootstrap loader,用c++实现为jvm的一部分(仅指sun的hotspot),负责 JAVA_HOME/lib下面的类库中的类的加载,这个加载器,java程序无法引用到。
扩展类加载器Extension Loader,由sun.misc.Launcher$ExtClassLoader类实现,可在java中使用,负责JAVA_HOME/lib/ext 目录和java.ext.dir目录中类库的类的加载。
应用系统类加载器Application System Loader,由sun.misc.Louncher$AppClassLoader实现,负责加载用户类路径中类库中的类,如果没有使用自定义的加载器,这个就是默认的 加载器!
用户自定义加载器 自己定义从哪里加载类的二进制流
web.xml里面的classpath
通过下面的图我们可以了解到 classpath为 /WEB-INF /classes/ 这个路径
这两个classpath应该是没有什么关联关系的,如果有朋友有其他观点,不吝赐教。
类加载参考地址:
http://www.cnblogs.com/fsjohnhuang/p/4284515.html
http://my.oschina.net/jingxing05/blog/275141
【Thinking in Java】五:访问权限控制
猜你喜欢
转载自lovejavah123.iteye.com/blog/2290084
今日推荐
周排行