`
Kayonlife
  • 浏览: 21966 次
  • 性别: Icon_minigender_1
  • 来自: 无锡
社区版块
存档分类
最新评论

Java编程思想之六-访问权限控制

阅读更多

Java编程思想之六-访问权限控制

 

  • 访问控制(或隐藏具体实现)与“最初的实现并不恰当”有关,访问权限机制解决的问题是:如何把变动的事物与保持不变的事物区分开来。
  • 为了解决类库的开发者有权限对类库进行修改和改进并且能够确保客户代码不会因为这些改动而受到影响,Java提供了权限修饰符,权限由大到小依次为:public, protected, defaultprivate
  • 类库设计员会尽可能将一切方法都定为private,而仅向客户端程序员公开他所愿意让他们使用的方法,这样的做法完全正确,但是对于那些经常使用别的语言编程并在访问事物时不受任何限制的人而言,这就于他们的直觉相违背。
  • Java用关键字package来控制谁有权来取用该类库构件,访问权限修饰词也会因类是否存在于一个相同的包中而受到影响。
  • Java.util中有一个叫做ArrayList的类,使用ArrayList的一种方式是用其全名java.util.ArrayList来指定。
  • 当编译一个.java文件时,在.java文件中的每个类都会有一个输出文件,输出文件的名称与.java文件中每个类的名称相同,只是多了一个后缀名.classJava可运行程序是一组可以打包并压缩为一个Java文档文件(JAR,使用Javajar文档生成器).class文件。
  • 包访问权限允许将包内所有相关的类组合起来,以使它们彼此之间可以轻松地相互作用,把类放在同一个包内时,也就给它们赋予了互相访问的权限。
  • Public:接口访问权限,使用public关键字,意味着public之后紧跟着的成员声明自己对每个人都是可用的,尤其是使用类库的客户程序员更是如此。
  • Private:你无法访问,关键字private的意思是,除了包含该成员的类之外,其他任何类都无法访问这个成员,处在同一个包内的其他类不可以访问private成员。
  • Protected:继承访问权限,关键字protected处理的是继承的概念,也就是说protected修饰的类可以被同包其他类访问,也可以被不同包但是其子类的类访问。
  • 访问权限的控制常被称为是具体实现的隐藏,把数据和方法包装进类中,以及具体实现的隐藏,常共同被称作是封装,其结果是一个同时带有特征和行为的数据类型。
  • 访问权限控制将权限的边界划在了数据类型的内部,是要设定客户断程序员可以使用和不可以使用的界限,可以在结构中建立自己的内部机制,而不必担心客户断程序员会偶然地将内部机制当作是他们可以使用的接口的一部分。
  • 访问权限控制将权限的边界划在了数据类型的内部,也是将接口和具体实现相分离,如果结构是用于一组程序之中,而客户端程序员除了可以向接口发送信息之外什么也不可以做的话,那么就可以随意更改所有不是public的东西,而不会破坏客户端代码。
  • 每个编译单元(文件)都只能有一个public类,这说明每个编译单元都有单一的公共接口,用public类来实现,该接口可以按要求包含众多的支持包访问权限的类,如果在某个编译单元含有一个以上的public类,编译器就会给出出错信息。
  • Public类的名称必须完全与含有该编译单元的文件名相匹配,包括大小写。
  • 编译单元内完全不带public类也是可能的,再这种情况下,可以随意对文件命名。
  • 采用单例(singleton)模式类,意味着该类有且仅能创建一个对象。

 

1
3
分享到:
评论

相关推荐

    Java编程思想第06章访问权限控制.ppt

    Java编程思想第06章访问权限控制.ppt

    Java 编程思想

    有关java的编程思想 包括操作符、控制执行流程、访问权限控制、复用类、多态、接口、通过异常处理错误、字符串、泛型、数组、容器等!

    java编程think第4版完整源码加python测试框架

    java编程think第4版完整源码加python测试框架,不难看出这是一本经典之作。本书共22章,包括操作符、控制执行流程、访问权限控制、复用类、多态、接口、通过异常处理错误、字符串、泛型、数组、容器深入研究、JavaI/O...

    Java安全性编程实例(徐迎晓)

    学完该章可以通过Java编程对各种数据进行各种形式的加密。密码学也是安全机制的基础。 # 第三章 # 解决的主要问题——和源代码相关的安全性 # 编写好的程序给用户后,用户如果能反编译出源代码怎么办? # 定义类...

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

    第15章 泛型 第16章 数组 第17章 容器深入研究 第18章 Java I/O系统 第19章 枚举类型 第20章 注解 第21章 并发 第22章 图形化用户界面 附录A 补充材料 可下载的补充材料 Thinking in C:Java的基础 Java编程思想 ...

    thinkingjava:编程思想

    thinkingjava 编程思想 3、操作符 4、控制执行流程 5、初始化与清理 6、访问权限控制 7、复用类 8、多态 9、接口 10、内部类

    《Thinking In Java》中文版

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

    编程思想下篇

    第6章 访问权限控制 第7章 复用类 第8章 多态 第9章 接口 第10章 内部类 第11章 持有对象 第12章 通过异常处理错误 第13章 字符串 第14章 类型信息 第15章 泛型 第16章 数组 第17章 容器深入研究 第18章 Java I/O...

    有关Java面向对象问题整理汇总

    《Java编程思想》中提到“万物皆为对象”的概念。它将对象视为一种奇特的变量,它除了可以存储数据之外还可以对它自身进行操作。它能够直接反映现实生活中的事物,例如人、车、小鸟等,将其表示为程序中的对象。每个...

    java初学者必看

    9.3.2 覆盖与访问权限 9.3.3 静态方法覆盖 9.3.4 覆盖与异常抛出 9.3.5 抽象方法覆盖 9.3.6 覆盖与重载 9.4 静态绑定与动态绑定 9.4.1 静态绑定 9.4.2 动态绑定 9.5 抽象类 9.5.1 抽象类概念 9.5.2 抽象类...

    java班级管理系统(论文+系统).rar

    这个名为"java班级管理系统(论文+系统).rar"的压缩文件包,是一个以Java编程语言为基础的班级管理系统的完整源码和相关文档。它被设计为一个实用且高效的工具,用于帮助教师和学校管理人员更好地管理学生信息、课程...

    Java EE常用框架.xmind

    这种方法会将WebService翻译成Java类,我们使用类一样去访问WebService就行了。非常好用。 三、除了调用别人发布的webService,也可以自己发布WebService服务 四、CXF框架可以与spring无缝连接,就不用我们...

    thinkinjava源码-Thinking-in-Java:ThinkingInJava源代码和练习题

    Java编程思想(第四版) Thinking in Java (Forth Edition) 包含了很多书本中的源代码,因为从官网提供的资源中无法获取源代码。为了更好的学习,决定,手打源代码。一方面练习编程速度,同时记忆代码,学习编程...

    Java/JavaEE 学习笔记

    第十六章 权限的授予与收回..........149 第十七章 Summary..........................151 :::::::::::::: 精点课上实例::::::::::::......152 JDBC学习笔记...............165 第一章 JDBC Overview(JDBC综述).......

    一个基于java开发的超市综合管理信息系统

    在技术实现上,这个超市综合管理信息系统主要基于Java语言、MySQL数据库以及面向对象编程思想进行开发。系统采用了B/S架构,通过浏览器可以轻松地访问系统,同时该系统使用了Java Web技术,如Servlet、JSP以及...

    Java毕业设计-基于springboot开发的班级综合测评管理系统--论文-附毕设源代码+说明文档.rar

    它采用了模块化的设计思想,各个功能模块之间耦合度低,易于维护和升级。同时,系统提供了丰富的接口和配置选项,使得用户可以根据自己的实际需求,对系统进行二次开发和定制,满足不同的管理需求。 在安全性方面,...

    Java学习笔记(必看经典)

    (想用private还要用set和get方法供其他方法调用,这样可以保证对属性的访问方式统一,并且便于维护访问权限以及属性数据合法性) 如果没有特殊情况,属性一定私有,方法该公开的公开。 如果不指明谁调用方法,则...

    asp.net知识库

    C++ 泛型编程系列讲座之实施 泛型技巧系列:简单类型选择器 C# 泛型简介 我眼中的C#2.0新功能特性 泛型技巧系列:避免基类及接口约束 New Article 不该用Generics实现Abstract Factory的理由 C#2.0-泛型 C#2.0-...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

     数据控制语言Data Controlling Language(DCL),用来控制数据库组件的存取允许、存取权限等。例如:GRANT、REVOKE、COMMIT、ROLLBACK等语句。  事务控制语言(Transactional Control Language,TCL),用于...

    二十三种设计模式【PDF版】

    者将面向对象的思想巧妙的融合在 Java 的具体技术上,潜移默化的让你感觉到了一种新的语言和新的思想方式的诞生。 但是读完这本书,你对书中这些蕴含的思想也许需要一种更明晰更系统更透彻的了解和掌握,那么你就...

Global site tag (gtag.js) - Google Analytics