`

【Thinking in Java】五:访问权限控制

阅读更多
一  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

  • 大小: 9.9 KB
  • 大小: 11 KB
  • 大小: 206.1 KB
  • 大小: 9.3 KB
  • 大小: 14.6 KB
分享到:
评论

相关推荐

    Thinking in Java TXT 电子书

    在《Thinking in Java》一书中,作者Bruce Eckel强调了面向对象编程的核心原则和技术细节,特别是Java语言中的类、对象以及访问控制等核心概念。本书中提到了类库(library)的重要性及其如何被客户端程序员所使用。...

    Thinking in java4(中文高清版)-java的'圣经'

    非静态实例初始化 5.8 数组初始化 5.8.1 可变参数列表 5.9 枚举类型 5.10 总结 第6章 访问权限控制 第7章 复用类 第8章 多态 第9章 接口 第10章 内部类 第11章 持有对象 第12章 通过异常处理错误 第13章 字符串 第...

    Thinking in Java 3th Edition.zip

    5. **访问修饰符**:public、private、protected和默认访问权限在控制类和成员的可见性方面的作用,有助于理解封装原则。 6. **接口与抽象类**:接口定义了完全抽象的行为规范,而抽象类可以包含实现部分。两者都是...

    Thinking in Java Fourth Edition

    - **访问控制修饰符**:详解`public`、`private`、`protected`以及包访问权限的作用。 - **抽象类与接口**:对比抽象类与接口的差异,分析何时使用何种形式来实现封装。 #### 第6章 类再生 - **类的加载与卸载**:...

    thinking in java (第三版)答案(4,5,6)三章

    此外,还将介绍Java中的访问权限控制(public, private, protected)和友元(friend)机制,这些都是保证代码安全性和封装性的关键。 这三章的内容对于理解和掌握Java的面向对象编程至关重要。通过学习,读者可以...

    Thinking in Java(4th_en)_5

    本书共22章,包括操作符、控制执行流程、访问权限控制、复用类、多态、接口、通过异常处理错误、字符串、泛型、数组、容器深入研究、Java I/O系统、枚举类型、并发以及图形化用户界面等内容。这些丰富的内容,包含了...

    Thinking in Java(4th_en)_7

    本书共22章,包括操作符、控制执行流程、访问权限控制、复用类、多态、接口、通过异常处理错误、字符串、泛型、数组、容器深入研究、Java I/O系统、枚举类型、并发以及图形化用户界面等内容。这些丰富的内容,包含了...

    thinking in java中英文

    通过访问修饰符(public, private, protected),我们可以控制数据和方法的访问权限。 4. **继承**:继承允许一个类(子类)从另一个类(父类)继承属性和方法,从而实现代码复用。Java支持单一继承,即一个子类...

    Thinking in Java 4th Edition(中文扫描版-带目录和源码)

    本书共22章,包括操作符、控制执行流程、访问权限控制、复用类、多态、接口、通过异常处理错误、字符串、泛型、数组、容器深入研究、JavaI/O系统、枚举类型、并发以及图形化用户界面等内容。这些丰富的内容,包含了...

    Thinking In Java 3rd

    你将学习到如何编写构造函数,理解析构函数的概念,以及如何使用访问修饰符控制类的成员访问权限。 异常处理是Java程序健壮性的重要组成部分。书中会讲解如何使用try-catch-finally语句块捕获和处理运行时错误,...

    Thinking in java读书笔记.docx

    - 包访问权限:没有明确指定访问修饰符的成员,只在同包内可见。 2. **对象的生命周期**: - 对象的创建和销毁是编程中的重要考虑因素。对象需要内存资源,Java中对象主要存储在堆上,由垃圾回收机制管理。 - 在...

    Thinking in Java 第三版代码

    《Thinking in Java》是Bruce Eckel的经典编程教材,它深入浅出地介绍了Java语言的核心概念和技术。这本书的第三版代码库包含了大量的示例程序,旨在帮助读者更好地理解和应用书中所讲解的知识点。以下是对这些代码...

    thinking in java

    此外,还涵盖了抽象类、访问权限控制以及构造函数的使用。 3. **集合框架**:Java的集合框架是其强大功能的重要体现,教程深入解析ArrayList、LinkedList、HashSet、HashMap等各种容器的使用,以及迭代器、泛型和...

    Thinking In Java学习之50问

    - **包访问权限(package access)**:当一个类或成员没有显式地声明为public、protected或private时,默认只能被同一包内的类访问。 ### 23. 访问控制 - **访问控制**:Java中使用public、protected、private和默认...

    thinking in java 4th 样章的翻译

    在Java中,我们可以使用访问修饰符(如public, private, protected)来控制成员的访问权限。 继承是让类之间建立一种“is-a”关系的方式,使得子类可以继承父类的属性和方法。这样,我们可以在不改变已有代码的基础...

    Thinking in java

    通过实例解释了如何设计和实现良好的面向对象系统,强调了接口和抽象类的重要性,以及如何利用访问修饰符控制类的访问权限。 3. **集合框架**:Java集合框架是处理对象数组的关键工具,包括List、Set、Map接口和...

    Thinking in Java 第4版 源代码

    《Thinking in Java》是Bruce Eckel的经典之作,它以其深入浅出的方式讲解了Java编程语言的核心概念和技术。第四版更新了与Java SE 5.0和6.0相关的所有内容,包括枚举、泛型、自动装箱和增强的for循环等新特性。现在...

Global site tag (gtag.js) - Google Analytics