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
java核心技术----访问权限的更多相关文章
- java:访问权限
访问权限四大类:权限从大->小 1.public: 公共权限 2.protected: 受保护权限 3.default: 包级别访问权限/默认权限 4.private: 私有权限 以p ...
- Java基础—访问权限控制
Java中访问权限控制的作用: 为了使用户不要触碰那些他们不该触碰的部分,这些部分对于类内部的操作时必要的,但是它并不属于客户端程序员所需接口的一部分. 为了让类库设计者可用更改类的内部工作方式,而不 ...
- java的访问权限
Java语言中有4中访问修饰符:friendly(默认).private.public和protected. public :能被所有的类(接口.成员)访问. protected:只能被本类.同一个包 ...
- Java基础--访问权限控制符
今天我们来探讨一下访问权限控制符. 使用场景一:攻城狮A编写了ClassA,但是他不想所有的攻城狮都可以使用该类,应该怎么办? 使用场景二:攻城狮A编写了ClassA,里面有func1方法和func2 ...
- java 类访问权限
Java有四种访问权限, 其中三种有访问权限修饰符,分别为private,public和protected,还有一种不带任何修饰符. private: Java语言中对访问权限限制的最窄的修饰符,一般 ...
- Java的访问权限详解(3+1)public private protected default
Java使用三个关键字在类的内部设定访问权限:public.private.protected.这些访问指定词(access specifier)决定了紧跟其后被定义的成员(方法或属性)可以被谁使用. ...
- java 的访问权限控制
package test06; public class PermissionModel { private int age; public String name; public int getAg ...
- Java继承访问权限
JAVA 子类重写继承的方法时,不可以降低方法的访问权限,子类继承父类的访问修饰符要比父类的更大,也就是更加开放,假如我父类是protected修饰的,其子类只能是protected或者public, ...
- 【Java_基础】Java的访问权限控制
1.类成员的访问权限控制 Java中类成员的访问权限分为四类:private,无(默认情况下),protected和public.其权限控制如下表所示: 修饰词 本类 同一个包的类 继承类 其他类 p ...
随机推荐
- $cometoj\#4\ D\ $求和 不是$dp$
\(Des\) \(Sol\) \(upd:\)以下两段是错误做法,但我不想删掉\(.jpg\) -----------------------以下是错误部分--------------------- ...
- Firefox about:config
about:config Pocket.enabled Pocket 启用 true 打开 false 关闭
- gulp的简介以及使用方法
环境介绍: pro环境:生产环境,面向外部用户的环境,连接上互联网即可访问的正式环境. pre环境:灰度环境,外部用户可以访问,但是服务器配置相对低,其它和生产一样. test环境:测试环境,外部用户 ...
- 使用Theia——创建插件
上一篇:使用Theia——创建扩展包 创建Theia插件 下面我们来看看如何创建Theia插件.作为示例,我们将注册一个Hello World命令,该命令显示一个“Hello World”通知.本文将 ...
- 并发编程的基石——CAS机制
本博客系列是学习并发编程过程中的记录总结.由于文章比较多,写的时间也比较散,所以我整理了个目录贴(传送门),方便查阅. 并发编程系列博客传送门 Java中提供了很多原子操作类来保证共享变量操作的原子性 ...
- 01_console 你真的了解吗,不曾了解过得console~
对于 console 你只知道 console.log 吗? 那你就 out 啦!!! // 1. 显示信息 console.log('hello'); console.info('信息'); con ...
- C++中重载、重写(覆盖)和隐藏的区别
转载自:https://blog.csdn.net/zx3517288/article/details/48976097 基本概念: 重载:是指同一可访问区内被声明的几个具有不同参数列(参数的类型,个 ...
- 微信小程序吸顶功能
---------------------------HTML------------------------ <view class="navbar-wrap"> ...
- 初学者的API测试技巧
API(应用程序编程接口)测试是一种直接在API级别执行验证的软件测试.它是集成测试的一部分,它确认API是否满足测试人员对功能.可靠性.性能和安全性的期望.与UI测试不同,API测试是在没有GUI层 ...
- vue resource 携带cookie请求 vue cookie 跨域
vue resource 携带cookie请求 vue cookie 跨域 1.依赖VueResource 确保已安装vue-resource到项目中,找到当前项目,命令行输入: npm instal ...