访问控制属性概论.ppt

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
类的组织——包的概念 包 是一组类的集合 一个包可以包含若干个类文件,还可包含若干个包 包的作用 将相关的源代码文件组织在一起 类名的空间管理,利用包来划分名字空间,便可以避免类名冲突 提供包一级的封装及存取权限 包的命名 每个包的名称必须是“独一无二”的 Java中包名使用小写字母表示 命名方式建议 将机构的Internet域名反序,作为包名的前导 若包名中有任何不可用于标识符的字符,用下划线替代 若包名中的任何部分与关键字冲突,后缀下划线 若包名中的任何部分以数字或其他不能用作标识符起始的字符开头,前缀下划线 编译单元与类空间 一个Java源代码文件称为一个编译单元,由三部分组成 所属包的声明(省略,则属于默认包) Import (引入)包的声明,用于导入外部的类 类和接口的声明 一个编译单元中只能有一个public类,该类名与文件名相同,编译单元中的其他类往往是public类的辅助类,经过编译,每个类都会产一个class文件 利用包来划分名字空间,便可以避免类名冲突 包的声明 命名的包(Named Packages) 例如: package Mypackage; 默认包(未命名的包) 不含有包声明的编译单元是默认包的一部分 包与目录 Java使用文件系统来存储包和类 包名就是文件夹名,即目录名 目录名并不一定是包名 用javac编译源程序时,如遇到当前目录(包)中没有声明的类,就会以环境变量classpath为相对查找路径,按照包名的结构来查找。因此,要指定搜寻包的路径,需设置环境变量classpath 引入包 为了使用其它包中所提供的类,需要使用import语句引入所需要的类 Java编译器为所有程序自动引入包java.lang import语句的格式 import package1[.package2…]. (classname |*); 其中package1[.package2…]表明包的层次,它对应于文件目录 classname则指明所要引入的类名 如果要引入一个包中的所有类,则可以使用星号(*)来代替类名 访问属性 我们定义的每一个类,以及其中的每一个成员属性和成员方法都存在是否可以被他 人访问的访问属性。不同的访问属性,标识 着不同的可访问性。所谓可访问性是一种在 编译时确定的静态特性。在Java语言中,也 正是利用访问属性机制实现数据隐藏,限制 用户对类及类中成员的访问权限。 类成员的访问权限控制 为类、类中的成员属性和成员方法指定 访问属性的格式为: [public] class ClassName; [public|private|protected] memberVariableName; [public|private|protected] emberMethodName(parameterList); 由于除默认访问属性外,指定其他三种访 问属性需要写在定义之前,所以,又将它们 称为修饰符,默认访问属性又称为friendly(友好)。 公共访问控制修饰符public 缺省访问控制修饰符 数据隐藏是面向对象的程序设计倡导的设计思 想。将数据与其操作封装在一起,并将数据的组织 隐藏起来,利用成员方法作为对外的操作接口,这 样不但可以提高程序的安全性、可靠性,还有益于 日后的维护、扩展和重用。将类中的数据成员 设置为private访问属性是实现数据隐藏机制的最 佳方式。 private访问属性可以应用于类中的成员,包括 成员属性、成员方法和内部类或内部接口。 私有访问控制修饰符 例1 不同包之间的类访问 如果将一个成员属性或成员方法定义为public类型,则在同一类、子类、同一包中的类、不同的包中的类均可以访问该成员变量或成员方法。 // Demopub1.java package pub1; public class Demopub1{ // public修饰是必需的。 //公共类型的成员变量 public int a; //公共类型的成员方法 public void method() { System.out.println(); } } //Demopub2.java package pub2; import pub1.*; class Demopub2 { public static void main(String args[]) { //实例化aDemo1 Demopub1 aDemo1 = new Demopub1(); //访问aDemo1中的公共成员方法 aDemo1.method()

文档评论(0)

0520 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档