Java中访问权限控制

来源:互联网 发布:挣钱的软件 编辑:程序博客网 时间:2024/05/01 20:40

浅析Java中的访问权限控制

适应场景举例

场景1:工程师A编写了一个类ClassA,但是工程师A并不希望ClassA被该应用中其他所用的类都访问到,那么该如何处理?

场景2:如果工程师A编写了一个类ClassA,其中有两个方法fun1、fun2,工程师只想让fun1对外可见,也就是说,如果别的工程师来调用ClassA,只可以调用方法fun1,那么该怎么处理?


Java提供了4种访问权限控制,即public、protected、默认访问权限(包访问权限)、private;

注意:

只有public和默认访问权限可修饰外部类,public、protected、默认访问权限和private可修饰内部类;

public、protected、默认访问权限和private可修饰类的成员变量/方法;


一、修饰类(外部类)

1 public

表示该类对其他所有的类可见;

2 默认权限访问

表示该类只对同一个包的其他类可见;


二、修饰类的成员变量/方法

1 public

public修饰的成员变量/方法,在任何地方都可见;

2 protected

protected修饰的成员变量/方法,对于同一个包的类,该类的成员方法/变量可被访问;对于不同包的类,只有继承于该类的类才可访问该类的成员方法/变量;

3 默认访问权限(包访问权限)

没有访问权限修饰符修饰的成员变量/方法,只有在同一个包的类才可访问该类的成员变量/方法;

4 private

private修饰的成员变量/方法,只有在该类本身才可访问该类的成员方法/变量;


补充:

Java中包主要防止类文件命名冲突以及方便进行代码组织和管理;

对于一个Java源代码文件,若存在public类,只能有一个public类,且此时源代码文件的名称必须和public类的名称完全一致;若存在其他类,这些类在包外是不可见的;若源代码文件没有public类,则源代码文件的名称可随意命名;




注明:此文章是转载海子的博文,详情见:http://www.cnblogs.com/dolphin0520/p/3734915.html


0 0
原创粉丝点击