zoukankan      html  css  js  c++  java
  • 《Java编程思想》06.访问权限控制

    • 如何把变动的事物与保持不变的事物区分开来
    • 访问权限控制的等级(大->小):public、protected、包访问权限(没有关键词)、private

    包:库单元

    代码组织

    • 编译一个.java文件,文件中的每个类都会有一个输出文件.class,文件名与类名相同
    • Java的可运行程序是一组可以打包并压缩为一个Java文档文件(JAR)的.class文件。Java解释器负责这些文件的查找、装载和解释
    • 类库 ---实际上---> 一组类晚间
    • Java包的命名规则全部使用小写字母
    package access.mypackage;
    public class MyClass{ /* ... */ }
    

    使用import来使access中的名称可用

    import access.mypackage.MyClass
    

    创建独一无二的包名

    • package名称的第一部分:类的创建者的反序Internet域名

    思考:条件编译

    Java访问权限修饰词

    包访问权限

    • 默认访问权限(没有任何关键字)
    • 有时也表示成friendly
      包中的类相对于:
    当前包所有其他类 包之外的所有类
    有访问权限 相当于与private

    取得某成员的访问权限的途径

    • 使改成员为public
    • 成员不加修饰词 & 其他类置于同一个包
    • 继承 - 可访问public成员、protected成员
    • 提供访问其(accessor)和变异器(mutator) - get/set方法

    public:接口访问权限

    private:你无法访问

    通常考虑的是,那些成员是想要明确公开给客户端程序员使用的,从而将它们声明为public,而在最初,你可能不会认为自己经常会需要使用private,因为没有它,照样可以工作。然而,事实很快就会证明,对private的使用是多么的重要,在多线程下更是如此。

    • 任何可以肯定只是该类的一个“助手”方法的方法,都可以把它指定为private,确保不会在包内的其他地方误用

    protected:继承访问权限

    接口和实现

    访问权限的控制->具体实现的隐藏、封装

    • 设定客户端程序员可以使用和不可以使用的边界
    • 将接口和具体实现进行分离

    类的访问权限

    • 对于类的访问权限,仅有两个选择:包访问权限或public

    总结

    • 控制成员的访问权限的两个原因:
      • 使用户不要触碰那些不该触碰的部分
      • 让类库设计者可以更改类的内部工作方式

      面向扩展开放,面向修改关闭

    当具备了改变底层实施细节的能力,不仅可以随意地改善设计,还可能会随意地犯错误,当了解到你所犯的错误是相对安全的时候,就可以更加放心地进行实验,也就可以更快地学会,更快地完成项目

  • 相关阅读:
    高斯消元学习
    HDU 4596 Yet another end of the world(解一阶不定方程)
    Codeforces Round #318 div2
    HDU 4463 Outlets(一条边固定的最小生成树)
    HDU 4458 Shoot the Airplane(计算几何 判断点是否在n边形内)
    HDU 4112 Break the Chocolate(简单的数学推导)
    HDU 4111 Alice and Bob (博弈)
    POJ 2481 Cows(线段树单点更新)
    HDU 4288 Coder(STL水过)
    zoj 2563 Long Dominoes
  • 原文地址:https://www.cnblogs.com/hhhqqq/p/12588175.html
Copyright © 2011-2022 走看看