《Java的访问控制符》PPT课件.ppt_第1页
《Java的访问控制符》PPT课件.ppt_第2页
《Java的访问控制符》PPT课件.ppt_第3页
《Java的访问控制符》PPT课件.ppt_第4页
《Java的访问控制符》PPT课件.ppt_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

3.4Java的访问控制符,3.4.1Java的访问控制符种类public公共的,修饰类、属性和方法private私有的,修饰属性和方法protected受保护的,修饰属性和方法privateprotected私有受保护的,修饰属性和方法无符号的缺省定义友好的,修饰类、属性和方法作用:限定类、属性和方法被程序里的其他部分访问和调用,3.4.2语法结构,修饰符1、修饰符2.修饰符Nclass类名.修饰符1、修饰符2.修饰符N数据类型属性名修饰符1、修饰符2.修饰符N方法返回值类型方法名(形式参数列表),3.4.3访问控制符的特点公共访问控制符public可以被所有其他类所访问和引用。但对类而言,其中包含的域和方法能否被访问看自身的访问控制符是否也为public。缺省访问控制符规定该类只能被同一包中的类访问和引用,称之为包访问性;类中的域和方法若也没有访问控制符来限定,则同样具备包访问性。私有访问控制符private只能被该类自身所访问和修改,不能被任何其他类(包括子类)获取和引用。,保护访问控制符protected只能被该类自身与它在同一个包中的其他类、在其他包中该类的子类引用,其主要作用是允许其他包中的它的子类来访问父类的特定属性。私有保护访问控制符privateprotected可以被该类本身和该类的所有子类引用,类、属性和方法的访问控制,A:所有类,B:包中的类,D:本类,C:所有子类,E:包中子类,例:AccessControl.java,/测试访问控制符的使用importjava.applet.Applet;importjava.awt.*;publicclassAccessControlextendsApplet/定义主类,在浏览器中显示信息ClassBeAccessedc=newClassBeAccessed();/创建被访问使用类的对象(区域D)subClasssc=newsubClass();/创建被访问类子类的对象(区域C)PackageClassic=newPackageClass();/创建被访问类同一包中类的对象(区域B)publicvoidpaint(Graphicsg)/显示可访问信息g.drawString(SelfAccessible:,10,20);/类可以访问自己的所有属性和方法g.drawString(c.toString(),20,35);g.drawString(SubAccessible:,10,55);/子类可以直接访问父类的哪些属性g.drawString(sc.AccessDirectly(),20,70);g.drawString(PackageAccessible:,10,90);/同包中的类可以访问哪些属性g.drawString(ic.AccessDirectly(),20,105);g.drawString(Accessusingpublicmethod:,10,125);/通过调用被访问类的g.drawString(sc.AccessCls(),20,140);/公共方法来访问它的g.drawString(ic.AccessCls(),20,155);/所有性质的属性,classClassBeAccessed/被访问类是非公共类,同一包中的其他类都可创建其对象publicStringm_PublicProperty;/公共属性Stringm_FriendlyProperty;/缺省属性(又称为友元)protectedStringm_ProtectedProperty;/保护属性privateStringm_PrivateProperty;/私有属性ClassBeAccessed()/构造函数,为各属性赋初值m_PublicProperty=newString(Public);m_FriendlyProperty=newString(Friendly);m_ProtectedProperty=newString(Protected);m_PrivateProperty=newString(Private);publicStringtoString()/公共方法:连接各属性的字符串并显示return(m_PublicProperty+;+m_FriendlyProperty+;+m_ProtectedProperty+;+m_PrivateProperty+;);,classsubClassextendsClassBeAccessed/被访问类的子类ClassBeAccessedc=newClassBeAccessed();/创建被访问类的对象StringAccessDirectly()/直接调用被访问类的属性,可调用的有:return(c.m_PublicProperty+;/公共属性+c.m_FriendlyProperty+;/缺省属性+c.m_ProtectedProperty+;);/保护属性StringAccessCls()/通过调用被访问类的公共方法,可以调用它的各种性质的属性return(c.toString();classPackageClass/与被访问类在同一个包中的类ClassBeAccessedc=newClassBeAccessed();/创建被访问类的对象StringAccessDirectly()/直接调用被访问类的属性,可调用的有:return(c.m_PublicProperty+;/公共属性+c.m_FriendlyProperty+;/缺省属性+c.m_ProtectedProperty+;);/保护属性StringAccessCls()return(c.toString();/通过调用被访问类的公共方法,可以调用它的各种性质的属性,3.4.4其他修饰符及修饰符的混合使用,(1)volatile易失域修饰符可以同时被几个线程所控制和修改;一般用于修饰接受外部输入的属性,如当前时间的变量由系统后台线程修改;(2)native本地方法修饰符用来声明用其他语言书写方法体并具体实现方法功能的特殊的方法。声明:nativedoubleCaculateTax(Employeeemp);/调用C+编写的CaculateTax模块调用:Emp1.m_Tax=CaculateTax(Emp1);目的是充分利用已经存在的程序功能模块和避免重复工作;要注意跨平台性能。,(3)synchronized同步方法修饰符用于多线程共存的程序中的协调和同步。如果是一个类的方法(即static的方法),那么在系统调用执行前,将把系统类Class中对应当前类的对象加锁;如果修饰的是一个对象的方法(未用static修饰的方法),则这个方法在被调用执行前,将把当前对象加锁。,(4)修饰符的混合使用,大多数情况下,修饰符是可以混合使用的。例如:publicabstractclasstransportmeans.但有以下例外:abs

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论