第6章 访问权限控制
2014-12-09 20:14:52
访问权限控制
1、访问权限控制出现的原因
代码需要不断的重新创作才能变得完善。
要完善的公用代码(如:类库)已经被客户程序使用,修改后,可能会影响客户程序的功能。
添加约定规范,规定可能需要修改的公用代码不能被客户程序使用。
这些约定规范利用访问权限控制来实现。
2、访问权限控制的实现方法:提供访问权限修饰词
权限由大到小:public,protected,包访问权限(无关键词),private
3、包出现原因
防止类的命名冲突,利用命名空间的不同来帮助解决类名冲突
4、包是什么?
包就是一个单位命名空间。
存在于单一目录中的类,默认位于默认包中。
整个命名空间就是,环境变量CLASSPATH的值指定的目录。每个目录又以包为单位分成了若干单位命名空间。
5、每个包(库)实际上就是一组类
每个编译单元(.java)有且只有一个public类。编译后,编译单元中定义了几个类,相应就会产生几个.class文件。
6、分割出命名空间(打包类)
package coreservlets;
package语句必须放在文件中除了注释之外的第一句
7、使用命名空间
import java.util.*;
使用类时,必须指明是哪个命名空间的类。
编译时,javac遍历CLASSPATH指定的目录,寻找导入的命名空间。
8、package和import存在的意义:分割命名空间,避免名称冲突
9、如何创建独一无二的包名
包名都使用小写(java是大小写敏感语言)
惯例:创建者Internet域名反序+自定义包名
eg:有域名MindView.net,则可以设置包名为:net.mindview.simple,此包存放目录:CLASSPATH/net/mindview/simple
10、使用jar文件时,不止要指明它所在位置的目录,要将它的实际名称写清楚
11、不同命名空间内有名字相同的类时,若被同一文件导入,则在使用此类时,用全称限制名,即包名+类名。示例程序ch601
12、创建自己的类库,放在CLASSPATH指定的目录下
13、java中,无条件编译,因为跨平台
14、java调试技巧
发布版本中无调试信息,开发版本中有调试信息。
通过导入不同的包来实现。
例如:两个包debug和debugoff,两个包中有相同的类,debug包中的类可以打印调试信息,若不需要打印调试信息,则导入另一个包。
示例程序:ch602
15、访问权限修饰词:public,protected,private及‘不提供修饰词’
16、默认包:处于同一目录路径且未限定任何包名称 的文件,自动归属到该目录的默认包中。
17、public:可以被所有类对象访问
protected:可以被子类对象访问
不提供修饰词:可以被同包内的类对象访问
private:只能被本类对象访问
18、权限控制就是让类的制作者控制此类哪些能被客户端程序使用,哪些不能被客户端程序使用。能被使用的就被封装成接口,而具体实现不能直接被使用。总之,访问权限控制+接口与实现的分离=封装,大大增加了程序的可维护性。
19、使用时需要注意的几点:
每个编译单元最多只能有一个public类,也可以没有public类
public类的类名必须与编译单元名相同,大小写敏感
转载于:https://www.cnblogs.com/ISeeIC/p/4154669.html
第6章 访问权限控制相关推荐
- java学习笔记 java编程思想 第6章 访问权限控制
文章目录 6.1 包:库单元(the library unit) 6.1.1 代码组织 6.1.2 创建独一无二的包名 练习1 练习2 6.1.3 定制工具类 6.1.4 用import改变行为 练习 ...
- 关于访问权限控制问题
实际上Java中是有访问权限控制的,就是我们个人的隐私的一样,我不允许别人随便来查看我们的隐私,只有我们自己同意的情况下,才能告诉别人我们的名字.年龄等隐私信息. 所以说Java中引入了访问权限控制( ...
- Java访问权限控制
面向对象的核心思想之一就是封装,只把有限的方法和成员公开给别人,这也是迪米特法则的内在要求,是外部调用方对方法体内的实现细节知道得尽可能少. 如何实现封装呢? 需要使用某些关键字来限制外部对类内属性和 ...
- C++知识点11——this指针,const成员函数,访问权限控制
1.this指针 每个类都有this指针,this指针指向this指针指向的是类的对象本身 class A { public:A() {}~A() {}void func() {cout<< ...
- android 静态方法 构造方法,android基础-Java篇02:类和对象、构造方法、访问权限控制、重载、this关键字、static关键字...
一.类和构造方法 (类和对象在百度百科已经有详细的介绍,这里只做简单的描述以及帮助理解:百度百科:类和对象,需要注意的是,百度百科类和对象的举例中都是C++,书写格式不要和Java混淆!) 什么是类? ...
- 文件服务器共享文件夹访问权限,5对文件服务器中的共享文件夹进行访问权限控制...
对文件服务器中的共享文件夹进行访问权限控制 1. 实训目的 在Windows Server 2003环境下设置文件服务器的目的是要对多用户进行资源共享,这其中经常遇到不同用户应该分配不同权限的问题,通 ...
- [THINKING IN JAVA]访问权限控制
6 访问权限控制 6.1 包:库单元 package.import.import *.import static: 修改classpath环境变量可以将自己写的类库添加至环境变量并在任何java程序中 ...
- Java成员的访问权限控制
Java中的访问权限控制包含两个部分: 类的访问权限控制 类成员的访问权限控制 对类来说,访问权限控制修饰符可以是public或者无修饰符(默认的包访问权限): 对于类成员来说,访问权限控制修饰符可以 ...
- java权限控制是什么_Java访问权限控制的重要性深入讲解
前言 人在什么面前最容易失去抵抗力? 美色,算是一个,比如说西施的贡献薄就是忍辱负重.以身报国.助越灭吴:金钱,算是另外一个,我们古人常说"钱乃身外之物,生不带来死不带去",但我们 ...
最新文章
- HDU2141(二分查找)
- ResNet最强改进版来啦!ResNest在多项任务中达到SOTA
- 通过公历年计算天干地支
- 检察机关计算机涉密案例,三原县检察院:扎实做好新时代检察机关保密工作
- visual studio如何给源码文件添加header信息?(创建者,创建日期等)(License Header Manager插件)
- python paramiko模块:远程执行命令及上传和下载
- matlab watershed函数简单实现_函数指针方法实现简单状态机(附代码)
- Visual C# 2008+SQL Server 2005 数据库与网络开发--13.1.1 菜单创建
- 面试稳了!网易资深工程师揭秘运维面经!
- MYSQL 时间处理
- Linux下安装Nginx详细图解教程
- 今日头条php面试经验,「今日头条」前端面试题和思路解析
- 反射(3)反射应用:一个插件项目
- OpenLayers学习入门篇
- U盘容量变小实用解决方案
- 利用 画图 快速给图片添加文字
- 【USACO】青铜莲花池[2]
- android6.0原生壁纸,惊呆了!安卓6.0壁纸竟然是这样得来的
- 内存优化 · 基础论 · 初识 Android 内存优化
- 经验转行产品经理|纯经验分享
热门文章
- 利用HTML+JS+CSS实现简单的网页计算器,附html所有源代码,可直接黏贴运行
- 使用python制作ArcGIS插件(1)工具介绍
- 深入浅出Docker(二):Docker命令行探秘
- TweenLite中文帮助手册
- access查询设计sol视图_Access删除索引
- 为什么eolinker发送老是等待_eolinker环境管理之开发、测试和生产环境
- python 堆栈溢出_IAR堆栈溢出的问题
- tomcat的服务器目录在哪个文件夹,Tomcat目录结构详细介绍
- Ros使用自定义数据通讯无法收到消息的分析和解决
- Sqoop 数据增量导出,--update-key添加多个字段