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 ...
随机推荐
- [quack] A browser extension to Clean website pages ADs
1. youdao.com result page Before: After: Later we will add more and more. Or you can submit issues t ...
- 初识python——知其名而去其意
---背景 b2b,房地产,人工智能是今年最火的词汇,那么配套的软件技术究竟是怎样的呢,通过百度,园子里的信息分析,自我感觉需要用python来进行数据采集. ---环境 在百度,qq群的大神指导下, ...
- .NET Core 3.1和WorkerServices构建Windows服务
介绍 ASP.NET Core 3增加了一个非常有意思的功能Worker Service.他是一个ASP.NET Core模板,他允许我们创建托管长期的运行的后台服务,这些服务具体实现IHostedS ...
- 小小知识点(三十八)MPSK和MQAM调制的实现——利用IQ调制
IQ调制的原理 (一)调制基本原理 (二)调制基本原理 利用IQ调制实现MPSK(QPSK 8PSK BPSK)和MQAM(16QAM 64QAM)调制 (一)利用IQ调制实现QPSK调制 ...
- Pandas的介绍与基本使用
1.什么是Pandas 当大家谈论到数据分析时,提及最多的语言就是Python和SQL,而Python之所以适合做数据分析,就是因为他有很多强大的第三方库来协助,pandas就是其中之一,它是基于Nu ...
- 主席树 - 查询某区间第 K 大
You are working for Macrohard company in data structures department. After failing your previous tas ...
- sender e
sender 产生事件的对象e 事件的参数
- AVR单片机教程——蜂鸣器
本文隶属于AVR单片机教程系列. 引子 定时/计数器(简称定时器)是单片机编程中至关重要的一部分,再简单的单片机也会带有定时器. 也许你会觉得我们已经在delay函数中接触过定时器了,然而并不是, ...
- git 工作实用创建删除分支
一.创建分支 .创建本地分支并切换 git checkout -b dev_wt2 .创建切换并关联远程分支 git checkout -b dev_wt3 orgin/dev_wt3 .创建远程分支 ...
- ORM基础1
1.增删改查 .models.类.object.all() 获取所有对象->select * from 表 2.models.类.object.get(id=1) 获取id为1的对象->s ...