菜鸡的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 (内容 ...
随机推荐
- Python爬虫--淘宝“泸州老窖”
爬虫淘宝--"泸州老窖" 爬去淘宝"泸州老窖" 相关信息: import requests import re import json import panda ...
- torch的下载及安装
Pytorch官网:https://pytorch.org/ 安装的时候如果选择在官网上下载安装的话下载会很慢,试过梯子也是很慢,此处提供一种快速安装的方法. 1.由于我是window系统,我选择了国 ...
- 多项式(polynomial)
多项式(polynomial) 题目大意: 给出一个 n 次多项式 \(f(x)=\sum_{i=0}^na_ix^i\) 对于\(k ≤ x ≤ k + l − 1\) 的\(l\) 个\(x\), ...
- Go语言核心36讲(Go语言进阶技术一)--学习笔记
07 | 数组和切片 我们这次主要讨论 Go 语言的数组(array)类型和切片(slice)类型. 它们的共同点是都属于集合类的类型,并且,它们的值也都可以用来存储某一种类型的值(或者说元素). 不 ...
- Pytorch——torch.nn.Sequential()详解
参考:官方文档 源码 官方文档 nn.Sequential A sequential container. Modules will be added to it in the order th ...
- 你对微信小程序的理解?优缺点?
一.是什么 2017年,微信正式推出了小程序,允许外部开发者在微信内部运行自己的代码,开展业务 截至目前,小程序已经成为国内前端的一个重要业务,跟 Web 和手机 App 有着同等的重要性 小程序是一 ...
- 保护模式篇——TLB与CPU缓存
写在前面 此系列是本人一个字一个字码出来的,包括示例和实验截图.由于系统内核的复杂性,故可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新. 如有好的建议,欢迎反馈.码字不易, ...
- 提升使用Linux效率的小操作
提升使用Linux效率的小操作 保存更新? 本文记录了个人在使用Linux时觉得好用的一些快捷方式/功能: 为那种知道了能提高效率,但是的不知道也并没有影响的操作. 历史命令 该操作用于快速查看已使用 ...
- [敏捷软工团队博客]The Agiles 团队介绍&团队采访
项目 内容 课程:北航-2020-春-敏捷软工 博客园班级博客 作业要求 团队作业-团队介绍和采访 团队名称来源 The Agile is The Agile. 敏捷就是敏捷.我们只是敏捷的践行者罢了 ...
- TCP 拥塞窗口原理
学过网络相关课程的,都知道TCP中,有两个窗口: 滑动窗口(在我们的上一篇文章中有讲),接收方通过通告发送方自己的可以接受缓冲区大小(这个字段越大说明网络吞吐量越高),从而控制发送方的发送速度. 拥塞 ...