浅析Java中的访问权限控制Java开发Java经验技巧.docVIP

浅析Java中的访问权限控制Java开发Java经验技巧.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浅析Java中的访问权限控制Java开发Java经验技巧.doc

浅析Java中的访问权限控制-编程开发技术 浅析Java中的访问权限控制 原文出处:海子 今天我们來一起了解一下Java语言中的访问权限控制。在讨论访问权限控制之 前,先來讨论一下为何需要访问权限控制。考虑两个场景: 场景1:工程师A编写了一个类ClassA,但是工程师A并不希M ClassA被该应 用中其他所用的类都访问到,那么该如何处理? 场景2:如果工程师A编写了一个类ClassA,其屮有两个方法funl. fun2,工 程师只想让funl对外可见,也就是说,如果别的工程师来调用ClassA,只可以 调用方法funl,那么该怎么处理? 此时,访问权限控制便可以起到作用了。 在Java中,提供了四种访问权限控制:默认访问权限(包访问权限),public, private 以及 protectedo 注意,上述四种访问权限,只有默认访问权限和public能够用來修饰类。修饰 类的变量和方法四种权限都可以。(本处所说的类针对的是外部类,不包括内部 类) 下面就分别针对修饰类和修饰类的成员来讲述这四种访问权限控制。 1.修饰类 默认访问权限(包访问权限):用來修饰类的话,表示该类只对同一个包中的其 他类可见。 public:用来修饰类的话,表示该类对其他所有的类都可见。 下面通过几个例子来看一下两者的区别: 例1: Main, java: package com. exh. testl; public class Main { /** * ?param args */ public static void main(String[] args) { // TODO Auto-gcncrated method stub People people = new People (〃ToiiT); System, out. printin (people. getName ()); } People, java package com. exh. test 1; class People { //默认访问权限(包访问权限) private String name = null; public People(Stri ng name) { this?namc 二 namc; } public String getName() { return name; } public void setName(String name) { this.name 二 name; } } 从代码可以看出,修饰People类采用的是默认访问权限,而由于People类和 Main类在同一个包屮,因此People类对于Main类是可见的。 程序运行结果: 例子2: People, java package com. exh. test2; class People { //默认访问权限(包访问权限) private String name = null; public People(Stri ng name) { this?namc 二 namc; } public String getName() { return name; } public void setName(String name) { this.name 二 name; } } 此时People类和Main类不在同一个包屮,会发生什么情况呢? 一卜?面是Main类中的提示的错误: 1 package com.exh?testl; 2「…「二 _ S import com^cxh tekt2?People: G G com.exh-test2.PeopIe 兀可实 1 ^^悸西用: 4 jg “Peode” 的可改为 Public 按吓2? 5 public class Main { 7 * ^param args ?/ public static void main(String[] args) { 勺12 // TODO Auto-generated method stub 13 314 People people ■ new People(trTomM): System.out.printin(people.getName()); } 17 } 捉示Peolple类在Main类中不可视。从这里就可以看出,如果用默认访问权限 去修饰一个类,该类只对同一个包中的其他类可见,对于不同包中的类是不可见 的。 正如上图的快速修正提示所示,将People类的默认访问权限更改为public的话, People类对于Main类便可见了。 2.修饰类的方法和变量 默认访问权限(包访问权限):如果一个类的方法或变量被包访问权限修饰,也 就意味着只能在同一个包屮的其他类屮显示地调用该类的方法或者变量,在不同

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档