- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
34Java的访问控制符.ppt
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 访问控制符的特点 公共访问控制符 public——可以被所有其他类所访问和引用。但对类而言,其中包含的域和方法能否被访问看自身的访问控制符是否也为public。 缺省访问控制符——规定该类只能被同一包中的类访问和引用,称之为包访问性;类中的域和方法若也没有访问控制符来限定,则同样具备包访问性。 私有访问控制符 private——只能被该类自身所访问和修改,不能被任何其他类(包括子类)获取和引用。 保护访问控制符 protected——只能被该类自身与它在同一个包中的其他类、在其他包中该类的子类引用,其主要作用是允许其他包中的它的子类来访问父类的特定属性。 私有保护访问控制符 private protected——可以被该类本身和该类的所有子类引用 类、属性和方法的访问控制 例: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 PackageClass(); //创建被访问类同一包中类的对象(区域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); //同包中的类可以访问哪些属性 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_FriendlyProperty; //缺省属性(又称为友元) 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_Priv
文档评论(0)