菜鸡的Java笔记 - java 访问控制权限
java中四种访问控制权限的使用
内容
在java里面一共定义有四个权限,按照由小到大的顺序:private<defaule<protected<public
那么这四种访问控制权限的特点如下
NO | 范围 | private | defaule | protected | public |
1 | 一包中的同一类 | 可以 | 可以 | 可以 | 可以 |
2 | 同一包中的不同类 | 可以 | 可以 | 可以 | |
3 | 不同包的子类 | 可以 | 可以 | ||
4 | 不同包的非子类 | 可以 |
除了 public 之外其他的几种都属于封装,但是真正来讲开发中会使用的封装只有: private, protected
范例:观察 protected 访问控制权限
定义 demoa.A程序类
package demoa;
public class A{
protected String info = "*******************";
}
定义 demob.B 类,此类导入 demoa.A 并且进行继承
package demob;
import demoa.*;
public class B extends A{
public void print(){
System.out.println();
}
}
B 是 A 的子类,并且 B类之中直接访问了 A 类中的 protected 属性
定义测试类
package democ;
import demoa.*;
public class TestAB{
public static void main(String args[]){
B b = new B();
b.print();
}
}
但是如果现在更换一下,不使用子类B,而直接在 TestAB 类里里面操作A 类
范例:错误代码
package democ;
import demoa.*;
public class TestAB{
public static void main(String args[]){
A a = new A();
System.out.println(a.info;
}
}
对于程序开发而言95%的情况下都会遵循一个原则
属性使用 private 定义测试类方法使用 public 定义
面向对象封装性: private , default , protected
总结
java程序的命名规范
类名称:每个单词的首字母必须大写,例如:TestDemo
属性名称和方法名称:第一个单词的字母小写,而后每个单词的首字母大写,例如: accessAuthority
包名称:所有的字母全部要求小写,例如:cn.mldn.uitl.access
常量名称:所有的字母都需要进行大写,例如:int ACCESS = 100;
菜鸡的Java笔记 - java 访问控制权限的更多相关文章
- Java 笔记 —— java 和 javac
Java 笔记 -- java 和 javac h2{ color: #4ABCDE; } a{ text-decoration: none !important; } a:hover{ color: ...
- Java类成员访问控制权限
类成员访问控制权限 在JAVA中有四种访问控制权限,分别为:private, default, protected, public 1.Private 如果一个成员方法或变量名前使用了private, ...
- JAVA基础之访问控制权限
包:库单元 1.当编写一个Java源代码文件时,此文件通常被称为编译单元(有时也被称为转译单元). 2.每个编译单元都必须有一个后缀名.java,而在编译单元内则可以有一个public类,该类名称必须 ...
- Java中的访问控制权限
简介 Java中为什么要设计访问权限控制机制呢?主要作用有两点: (1)为了使用户不要触碰那些他们不该触碰的部分,这些部分对于类内部的操作时必要的,但是它并不属于客户端程序员所需接口的一部分. (2) ...
- java进阶(6)--访问控制权限
一.四种访问控制权限 二.举例同包下访问权限
- 菜鸡的Java笔记 java基础类库 BaseClassLibrary
java基础类库 BaseClassLibrary StringBuffer 类的特点 StringBuffer,StringBuilder,String 类之间的关系 ...
- 菜鸡的Java笔记 - java 多对多映射
要求: 1.将数据还原为简单java类 2.数据的输出: 可以根据一个用户输出它对应的角色以及每个角色对应的权限,以及包含的具体的权限详情: 一个权限可以输出具 ...
- 菜鸡的Java笔记 - java 断言
断言:assert (了解) 所谓的断言指的是在程序编写的过程之中,确定代码执行到某行之后数据一定是某个期待的内容 范例:观察断言 public class Abnorma ...
- 菜鸡的Java笔记 - java 正则表达式
正则表达式 RegularExpression 了解正则表达式的好处 正则表达式的基础语法 正则表达式的具体操作 content (内容 ...
随机推荐
- APScheduler(python 定时任务框架)最简单使用教程
有时候需要部署一些很简单的python定时任务,使用APScheduler是很好的选择.只需要简单的设置几个参数,就可以实现定时.定分甚至秒来跑. 第一步:用pip安装APScheduler pip ...
- Skywalking-09:OAL原理——如何通过动态生成的Class类保存数据
OAL 如何通过动态生成的 Class 类,保存数据 前置工作 OAL 如何将动态生成的 SourceDispatcher 添加到 DispatcherManager // org.apache.sk ...
- 关于布隆过滤器,手写你真的知其原理吗?让我来带你手写redis布隆过滤器。
说到布隆过滤器不得不提到,redis, redis作为现在主流的nosql数据库,备受瞩目:它的丰富的value类型,以及它的偏向计算向数据移动属性减少IO的成本问题.备受开发人员的青睐.通常我们使用 ...
- docker采用registry部署简易仓库
解释:registry部署简易仓库,实现免密上传拉取镜像(解决不在一个容器里,也能够实现镜像拉取成功) 1.安装启动registry服务 docker pull registry docker run ...
- 关于 Binomial Coefficient is Fun
题目传送门 Solution 应该这个做法不是很常见吧. 我们设 \(f_{i,j}\) 表示前面 \(i\) 个数,选出的数和为 \(j\) 的贡献之和.因为我们有以下式子: \[\sum_{i=a ...
- 自定义ConditionalOnXX注解
一.Conditional注解介绍 对SpringBoot有足够了解的小伙伴应该都用过Conditional系列注解,该注解可用在类或者方法上用于控制Bean的初始化. 常用的Conditional注 ...
- SharkCTF2021 The_nature_of_the_human
(信安数基的quiz1写不出来 来这放题解泄愤) crypto类题. 题面 其加密的大致过程是,对明文flag中的逐个字符,随机使用三种加密方式: 第一种,对该字符进行sha256加密后以16进制形式 ...
- 【UE4 C++】 获取Actor、Controller、Pawn、Character
获取 Actor TActorIterator 遍历 可以用于遍历 Actor,也可以用于遍历 Component for (TActorIterator<AStaticMeshActor> ...
- [敏捷软工团队博客]Beta阶段发布声明
项目 内容 2020春季计算机学院软件工程(罗杰 任健) 博客园班级博客 作业要求 Beta阶段发布声明 我们在这个课程的目标是 在团队合作中锻炼自己 这个作业在哪个具体方面帮助我们实现目标 对Bet ...
- [技术博客] K-Means算法
遇到的问题 在对微软\(OCR\)的\(api\)进行测试的过程中,我发现有时候它并不能分析出一个表格的形态,也就是说不知道每个文本对应在表格中的第几行第几列.但是它可以较为准确的给出这些文本的坐标. ...