java核心技术----访问权限
Java支持四种不同的访问权限:
修饰符 | 说明 |
public | 共有的,对所有类可见 |
protected | 受保护的,对同一包内的类和所有子类可见 |
private | 私有的,在同一类内可见 |
默认的 | 在同一包内可见。默认不使用任何修饰符 |
1、public:public表明该数据域、方法是对所有用户开放的,所有用户都可以直接进行访问。
2、private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直接访问,私有财产神圣不可侵犯嘛,即便是子女,朋友(同一包内的类),都不可以使用。
3、protected:protected对于子女、朋友来说,就是public的,可以自由使用,没有任何限制;而对于其他的外部class,protected就变成private。
作用域 |
当前类 |
同一其 他 package |
子孙类 |
其他package |
public |
√ |
√ |
√ |
√ |
protected |
√ |
√ |
√ |
× |
默认的 | √ | √ |
|
× |
private |
√ |
× |
× |
× |
不写时为默认访问权限。
在实际的使用过程中,数据域应该设置为private,方法设置为public,这样更能体现出OOP封装的原则。
类只有默认和public访问权限。
public权限:包外也可以访问;
默认权限:包外不可以访问。
*\com\example\test.java
package com.example;/*** Created by N3verL4nd on 2016/11/21.*/
class test {private String str = "Hello World";public String getStr() {return str;}
}
HelloWorld.java在默认包中
test类改为public则可以进行访问
Java中的受保护部分对所有子类及同一个包中的所有其他类都可见。这点显得很鸡肋。
总结一下:
private:仅对本类可见
public:对所有类可见
protected:对本包和所有子类可见
默认权限(不需要修饰符):对本包可见
参考:http://www.cnblogs.com/dolphin0520/p/3734915.html
转载于:https://www.cnblogs.com/lgh1992314/p/6616295.html
java核心技术----访问权限相关推荐
- [java]关于访问权限
[java]关于访问权限 java文件中的class public class: 包内和包外class都可访问 friendly class: 包内class可访问, 包外class不可访问, pri ...
- java 集成访问权限_集成块:Java访问控制,停止疯狂!
java 集成访问权限 疯狂谈话 您可以使用访问修饰符将API与实现(也称为封装)分开. 修饰符为您提供了一种干净的方法来告诉其他开发人员:"这是我打算供您使用的内容,其余所有内容都在我的实 ...
- Java学习-访问权限控制
Java学习-访问权限控制 1.为什么要有访问权限控制? 2.包:库单元 3.Java访问权限修饰词 1.为什么要有访问权限控制? 访问控制(或隐藏具体实现)与"最初的实现并不恰当" ...
- java变量访问权限_JAVA成员变量的访问权限
成员变量的访问权限 我看到很多地方谈到关于Java里变量的访问权限问题. 很多地方认为对于默认修饰符的理解是这样的: 不写时默认为friendly 但就我所知Java里没有 friendly这一关键字 ...
- Java基础--访问权限控制符
今天我们来探讨一下访问权限控制符. 使用场景一:攻城狮A编写了ClassA,但是他不想所有的攻城狮都可以使用该类,应该怎么办? 使用场景二:攻城狮A编写了ClassA,里面有func1方法和func2 ...
- java 接口访问权限_详解Java之路(五) 访问权限控制
在Java中,所有事物都具有某种形式的访问权限控制. 访问权限的控制等级从最大到最小依次为:public,protected,包访问权限(无关键词)和private. public,protected ...
- java override 访问权限_java 重写(Override)的规则
遵循的规则: [1]访问修饰符的限制一定要不小于被重写方法的访问修饰符 比如:Object类有个toString()方法,开始重写这个方法的时候我们总容易忘记Public修饰符,出错的原因就是:没有加 ...
- java 对象访问权限_Java面向对象--访问权限
访问权限 1. public 公共的 2. private 私有的 3. default 包内的 package com.kjy.entity; public class Person { publi ...
- java 匿名访问权限_java-春季安全性allowAll()不允许匿名访问
我有一个方法要同时允许匿名和身份验证访问. 我正在使用基于Java配置的Spring Security 3.2.4. 覆盖的configure方法(在我的自定义配置类中,扩展了WebSecurityC ...
最新文章
- SQLSERVER存储过程基本语法使用
- 黄海广博士的机器学习个人笔记及深度学习笔记
- Android移动APP开发笔记——最新版Cordova 5.3.1(PhoneGap)搭建开发环境
- 20180313分块查找
- 理解Promise (2)
- 使用各种方法加速大型矩阵运算的效率对比
- Winform中实现新增和更新共用一个页面的示例流程
- Linux常用服务部署与优化之NFS篇
- android 4.4 OpenGL实现库的加载规则
- php如何解码图片,php基于base64解码图片与加密图片还原实例_PHP
- JVM性能优化之栈区域OOM问题
- vs2017安装完成,但有错误。
- 分辨西瓜和冬瓜的思考
- Linux perf 1.1、perf_event内核框架
- loj6198 谢特
- 一份自己整理的不太详细的常见面试题
- 物联卡先用流量包还是套餐流量,物联卡流量扣除顺序是什么?
- VC++ 绘制线条 OnLButtonDown函数(DrawView.cpp) 利用SDK全局函数实现画线功能 利用MFC的CDC类实现画线功能 利用MFC的CClientDC类实现画线功能
- 数字电路学习——三极管的使用
- QT和linux实现简易远程聊天工具
热门文章
- 【LeetCode】405 Convert a Number to Hexadecimal (java实现)
- 数据加密类型及创建和申请CA证书
- Redis实现关注关系
- Hbase shell 常用命令
- 典型的Linux系统启动需要完成的服务
- 利用Java生成静态HMTL页面的方法收集
- 转载:Yahoo推出视频标签游戏
- Android的webview加载本地html、assert内html和收集URL
- ContactsContract.Contacts与ContactsContract.CommonDataKinds.Phone的区别
- android 屏幕切换监听