Java中访问权限控制
2016-07-26 07:49
281 查看
浅析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 publicpublic修饰的成员变量/方法,在任何地方都可见;
2 protected
protected修饰的成员变量/方法,对于同一个包的类,该类的成员方法/变量可被访问;对于不同包的类,只有继承于该类的类才可访问该类的成员方法/变量;
3 默认访问权限(包访问权限)
没有访问权限修饰符修饰的成员变量/方法,只有在同一个包的类才可访问该类的成员变量/方法;
4 private
private修饰的成员变量/方法,只有在该类本身才可访问该类的成员方法/变量;
补充:
Java中包主要防止类文件命名冲突以及方便进行代码组织和管理;
对于一个Java源代码文件,若存在public类,只能有一个public类,且此时源代码文件的名称必须和public类的名称完全一致;若存在其他类,这些类在包外是不可见的;若源代码文件没有public类,则源代码文件的名称可随意命名;
注明:此文章是转载海子的博文,详情见:http://www.cnblogs.com/dolphin0520/p/3734915.html
相关文章推荐
- PowerDesigner 在通过jdbc连接数据库时 Could not Initialize JavaVM!
- spring消费RESTfull服务
- Java中取得数组(array),集合(Collection)和字符串(String)的长度
- Java的IO操作
- 04Spring_bean 后处理器(后处理Bean),BeanPostProcessor ,bean创建时序,动态代理
- java7新特新(一) Try-with-resources (TWR)
- 生产消费者4 - 实现一个基于优先级的传输队列【消费顺序是由优先级决定的而不是抵达时间】
- Maven 指定JDK版本
- jdk jre java虚拟机 GCjava回收机制
- Java 浅析内部类
- Hibernate学习笔记之在Eclipse上手动配置Hibernate文件
- 22、关于Drools Web版本与java实现自动扫描功能
- 获得指定时间的下一天的N种方法
- 如何用java生成随机验证码
- Java重写与重载
- java 读取 Properties
- JAVA学习日志(8-1-多态)
- Java判断一个时间是否在另一个时间段内
- 浅谈java内部类
- 一个简单的java提取页面源码的示例