第5章-类和对的象 - Copy.ppt

  1. 1、本文档共49页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章-类和对的象 - Copy

5.3.3 对象的清除 对象的清除,即系统内无用单元的收集。 Java运行时系统通过垃圾收集周期性地释放无用对象所使用的内存,完成对象的清除。 Java采用自动垃圾收集进行内存管理,使程序员不需要跟踪每个生成的对象,这是Java的一大优点。 当下述条件满足时,Java内存管理系统将自动完成收集内存工作。 (1)当堆栈中的存储器数量少于某个特定水平时; (2)当程序强制调用系统类的方法时; (3)当系统空闲时。 5.4 访问控制符 访问控制符是一组限定类、成员变量或方法是否可以被程序里的其它部分访问和调用的修饰符。 类的访问符只有public。 成员变量和方法的访问控制符有四个: public private protected 不修饰时采用默认行为(default) 5.4.1 类的访问控制符 1.公共访问控制符public Java中类的访问控制符只有一个:public,即公共类。一个类被声明为公共类,声明它可以被所有其他类所访问和引用,这里的访问和引用是指这个类作为整体是可见和可使用的。 Java的类是通过包来组织,处于同一包中的类可以不需任何说明而方便的互相访问和引用,而对于处于不同包中的类,缺省的它们是互相之间不可见的。 但是,当一个类被声明为public时,它就具有了被其它包中类访问的可能性,只要这些包中的类在程序中使用import语句引入public类,就可访问它了。 一个类作为整体可见,并不能代表类中的成员变量和方法也一定可见,除非它们也被声明为public。 2.缺省访问控制符(default) 若一个类没有访问控制符,说明它具有缺省的访问控制特性。该访问控制规定这样的类只能被同一个包中的类访问和引用,而不能被其他包中的类使用,这种访问特性又称包访问性。 通过声明类的访问控制符可以使整个程序结构清晰、严谨,减少可能产生的类之间的干扰和错误。 5.4.2 对类成员的访问控制 当一个类可以被访问时,对类内的成员变量和成员方法而言,其应用范围可以通过施以一定的访问权限来限定。 同一个类中 同一个包中 不同包中的子类 不同包中的非子类(任意类) private ★ default ★ ★ protected ★ ★ ★ public ★ ★ ★ ★ class Alpha{ private int iamprivate; // private成员变量 private void privateMethod( ){ // private成员方法 System.out.println(privateMethod); } } class Beta{ void accessMethod( ){ Alpha a=new Alpha( ); a.iamprivate=10; //非法 a.privateMethod( ); //非法 } } 私有访问控制符 用private修饰的成员变量或方法只能被该类自身所访问和修改,而不能被任何其它类(包括该类的子类)来获取和引用。 private修饰符提供了最高的保护级别。 缺省访问控制符(default) 类中不加任何防问权限限定的成员属于缺省的(default)访问状态,可以被这个类本身和同一个包中的类所访问。 这个访问级别是假设在相同包中的类是互相信任的。 package Greek; public class Alpha{ int iamprivate; void packageMethod( ){ System.out.println(packageMethod); } } package Greek; class Beta{ void accessMethod( ){ Alpha a=new Alpha( ); a.iamprivate=10; //合法 a.protectedMethod( ); //合法 } } Alpha类可以访问自己的成员,同时所有定义在与Alpha同一个包中的类也可以访问这些成员。 如Alpha和Beta都定义为Greek包的一部分,则Beta可以合法访问Alpha的成员。 保护访问控制符protected 用protected修饰的成员变量和方法可以被三种类引用: 该类自身; 与它在同一个包中的其它类; 在其它包中的该类的子类。 使用protected修饰符的主要作用是允许包中的类和其它包中的子类来访问父类的特定属性。 公共访问控制符public 被定义为public的方法是这个类对外的接口部分,程序的其它部分通过调用p

文档评论(0)

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

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

1亿VIP精品文档

相关文档