Java的访问控制符.ppt

上传人:小飞机 文档编号:6509916 上传时间:2023-11-07 格式:PPT 页数:11 大小:209.49KB
返回 下载 相关 举报
Java的访问控制符.ppt_第1页
第1页 / 共11页
Java的访问控制符.ppt_第2页
第2页 / 共11页
Java的访问控制符.ppt_第3页
第3页 / 共11页
Java的访问控制符.ppt_第4页
第4页 / 共11页
Java的访问控制符.ppt_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《Java的访问控制符.ppt》由会员分享,可在线阅读,更多相关《Java的访问控制符.ppt(11页珍藏版)》请在三一办公上搜索。

1、3.4 Java的访问控制符,3.4.1 Java的访问控制符种类 public 公共的,修饰类、属性和方法 private 私有的,修饰属性和方法 protected 受保护的,修饰属性和方法 private protected 私有受保护的,修饰属性和方法 无符号的缺省定义 友好的,修饰类、属性和方法作用:限定类、属性和方法被程序里的其他部分访问和调用,3.4.2 语法结构,修饰符1、修饰符2.修饰符N class 类名.修饰符1、修饰符2.修饰符N 数据类型 属性名 修饰符1、修饰符2.修饰符N 方法返回值类型 方法名(形式参数列表),3.4.3 访问控制符的特点公共访问控制符 publ

2、ic可以被所有其他类所访问和引用。但对类而言,其中包含的域和方法能否被访问看自身的访问控制符是否也为public。缺省访问控制符规定该类只能被同一包中的类访问和引用,称之为包访问性;类中的域和方法若也没有访问控制符来限定,则同样具备包访问性。私有访问控制符 private只能被该类自身所访问和修改,不能被任何其他类(包括子类)获取和引用。,保护访问控制符 protected只能被该类自身与它在同一个包中的其他类、在其他包中该类的子类引用,其主要作用是允许其他包中的它的子类来访问父类的特定属性。私有保护访问控制符 private protected可以被该类本身和该类的所有子类引用,类、属性和方

3、法的访问控制,A:所有类,B:包中的类,D:本类,C:所有 子类,E:包中子类,例:AccessControl.java,/测试访问控制符的使用 import java.applet.Applet;import java.awt.*;public class AccessControl extends Applet/定义主类,在浏览器中显示信息 ClassBeAccessed c=new ClassBeAccessed();/创建被访问使用类的对象(区域D)subClass sc=new subClass();/创建被访问类子类的对象(区域C)PackageClass ic=new Packa

4、geClass();/创建被访问类同一包中类的对象(区域B)public void paint(Graphics g)/显示可访问信息 g.drawString(Self Accessible:,10,20);/类可以访问自己的所有属性和方法g.drawString(c.toString(),20,35);g.drawString(Sub Accessible:,10,55);/子类可以直接访问父类的哪些属性g.drawString(sc.AccessDirectly(),20,70);g.drawString(Package Accessible:,10,90);/同包中的类可以访问哪些属性

5、g.drawString(ic.AccessDirectly(),20,105);g.drawString(Access using public method:,10,125);/通过调用被访问类的g.drawString(sc.AccessCls(),20,140);/公共方法来访问它的g.drawString(ic.AccessCls(),20,155);/所有性质的属性,class ClassBeAccessed/被访问类是非公共类,同一包中的其他类都可创建其对象 public String m_PublicProperty;/公共属性 String m_FriendlyPropert

6、y;/缺省属性(又称为友元)protected String m_ProtectedProperty;/保护属性 private String m_PrivateProperty;/私有属性 ClassBeAccessed()/构造函数,为各属性赋初值 m_PublicProperty=new String(Public);m_FriendlyProperty=new String(Friendly);m_ProtectedProperty=new String(Protected);m_PrivateProperty=new String(Private);public String toS

7、tring()/公共方法:连接各属性的字符串并显示 return(m_PublicProperty+;+m_FriendlyProperty+;+m_ProtectedProperty+;+m_PrivateProperty+;);,class subClass extends ClassBeAccessed/被访问类的子类 ClassBeAccessed c=new ClassBeAccessed();/创建被访问类的对象String AccessDirectly()/直接调用被访问类的属性,可调用的有:return(c.m_PublicProperty+;/公共属性+c.m_Friendl

8、yProperty+;/缺省属性+c.m_ProtectedProperty+;);/保护属性 String AccessCls()/通过调用被访问类的公共方法,可以调用它的各种性质的属性 return(c.toString();class PackageClass/与被访问类在同一个包中的类 ClassBeAccessed c=new ClassBeAccessed();/创建被访问类的对象 String AccessDirectly()/直接调用被访问类的属性,可调用的有:return(c.m_PublicProperty+;/公共属性+c.m_FriendlyProperty+;/缺省属

9、性+c.m_ProtectedProperty+;);/保护属性 String AccessCls()return(c.toString();/通过调用被访问类的公共方法,可以调用它的各种性质的属性,3.4.4 其他修饰符及修饰符的混合使用,(1)volatile 易失域修饰符可以同时被几个线程所控制和修改;一般用于修饰接受外部输入的属性,如当前时间的变量由系统后台线程修改;(2)native 本地方法修饰符 用来声明用其他语言书写方法体并具体实现方法功能的特殊的方法。声明:native double CaculateTax(Employee emp);/调用C+编写的CaculateTax模

10、块调用:Emp1.m_Tax=CaculateTax(Emp1);目的是充分利用已经存在的程序功能模块和避免重复工作;要注意跨平台性能。,(3)synchronized 同步方法修饰符 用于多线程共存的程序中的协调和同步。如果是一个类的方法(即static的方法),那么在系统调用执行前,将把系统类Class中对应当前类的对象加锁;如果修饰的是一个对象的方法(未用static修饰的方法),则这个方法在被调用执行前,将把当前对象加锁。,(4)修饰符的混合使用,大多数情况下,修饰符是可以混合使用的。例如:public abstract class transportmeans.但有以下例外:abstract不能与final并列修饰同一个类;abstract不能与private、static、final、native并列修饰同一个方法;abstract类中不能有private的成员(包括属性和方法);abstract方法必须在abstract类中;static方法中不能处理非static的属性。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号