菜鸡的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 (内容 ...
随机推荐
- Ubuntu解决安装没有候选
Ubuntu解决安装没有候选 很多初次上手的小白们最头疼的可能就是一下这种问题了 这是我也载过很多次的坑,原因是软件安装源的问题,需要去软件安装设置里更改合适的源 结局方案如下:(具体操作) 有个So ...
- SDOI2015 排序
SDOI2015 排序 今天看到这道题,没有一点思路,暴力都没的打...还是理解错题意了,操作不同位置不是说改不同的区间,而是不同操作的顺序...考场上如果知道这个的话最少暴力拿一半啊,因为正解本来就 ...
- amber模拟kcl水溶液
最近刚开始学习amber软件,看网上的教程勉强知道怎么操作这个amber了.就暂时跑了个分子动力学,其他的啥也没处理.先把我的操作过程记录下来吧,免得日后忘记. 一.构建kcl.pdb结构 利用Gau ...
- 极简SpringBoot指南-Chapter03-基于SpringBoot的Web服务
仓库地址 w4ngzhen/springboot-simple-guide: This is a project that guides SpringBoot users to get started ...
- python3 拼接字符串方法
python3.x拼接字符串一般有以下几种方法: 1. 直接通过(+)操作符拼接 1 2 s = 'Hello'+' '+'World'+'!' print(s) 输出结果:Hello World! ...
- 【.Net vs Java? 】 先来看一下Java和C#的数据类型区别。
新工作.Net和Java都要做,早期也做过一段Java的项目,但没有系统的深入学习过.一直觉得这两门语言估计是最相近的两门语言了,好多代码可以说直接拷过来都不带报错的,但仔细推敲还是有很多的不同. 1 ...
- 题解 Beautiful Pair
题目传送门 题目大意 给出一个 \(n\) 个点的序列 \(a_{1,2,...,n}\) ,问有多少对点对 \((i,j)\) 满足 \(a_i\times a_j\le a_k(i\le k\le ...
- zabbix和prometheus的优缺点对比
使用Prometheus(https://github.com/prometheus)原生的k8s服务发现驱动,采集容器化信息:通过微服务参数配置,暴露运行状态信息提供给prometheus,实现微服 ...
- 阿里云服务器上在docker部署jenkins
1.查询jenkins:docker search jenkins 2.拉取jenkins镜像 docker pull jenkins/jenkins:lts 3.新建jenkins的工作目录: mk ...
- OO第三单元
OO第三单元 JML语言理论基础,应用工具链 JML语言基础 JML简介 定义: JML 是一种形式化的. 面向 JAVA 的行为接口规格语言 作用: 开展规格化设计.这样交给代码实现人员的将不是可能 ...