菜鸡的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 (内容 ...
随机推荐
- (一):细说贝叶斯滤波:Bayes filters
认知计算,还要从贝叶斯滤波的基本思想讲起,本文主要是对<Probabilistic Robotics>中贝叶斯滤波器部分的详细讲解. 这一部分,我们先回顾贝叶斯公式的数学基础,然后再来介绍 ...
- 阿里云 Serverless 再升级,从体验上拉开差距
差距都在细节上. Serverless 要成就云计算的下一个 10 年,不仅需要在技术上持续精进,也需要在产品体验上精耕细作. 近日,阿里云 Serverless 再度升级,发布了一系列围绕产品体验方 ...
- Linux——Docker安装
1. 安装Docker i :环境准备:Linux要求内核3.0以上 ii:安装 #1.卸载旧版本 yum remove docker \ docker-client \ docker-client- ...
- Typora配置双击图片放大功能
在Typora中,默认没有点击图片放大功能,本文就教大家如何配置该功能. 我的环境版本 Typora版本:0.11.13 LightBox版本:2.11.3 下载LightBox 可以从Github下 ...
- Apache Shiro漏洞绕过waf小tips
看了篇文章觉得不错记录下以免以后找不到,原理是通过base64解码特性导致waf不能成功解码绕过waf检测从而进行攻击 解码情况: payload php python openresty java ...
- python3去除行号
问题:在复制一些代码时会同时复制每行的行号,删除比较麻烦,所以利用python3本身的代码进行一键删除. # 导入re 模块来使用正则表达式 import re """去 ...
- 【UE4】基础概念——文件结构、类型、反射、编译、接口、垃圾回收、序列化
新标签打开或者下载看大图 思维导图 Engine Structure Pipeline Programming Pipeline Blueprint Pipeline
- 【数据结构与算法Python版学习笔记】树——二叉树的应用:解析树
解析树(语法树) 将树用于表示语言中句子, 可以分析句子的各种语法成分, 对句子的各种成分进行处理 语法分析树 程序设计语言的编译 词法.语法检查 从语法树生成目标代码 自然语言处理 机器翻译 语义理 ...
- 这样调优之后,单机也能扛下100W连接
1 模拟单机连接瓶颈 我们知道,通常启动一个服务端会绑定一个端口,例如8000端口,当然客户端连接端口是有限制的,除去最大端口65535和默认的1024端口及以下的端口,就只剩下1 024~65 53 ...
- BUAA 软工 结对项目作业
1.相关信息 Q A 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 结对项目作业 我在这个课程的目标是 系统地学习软件工程开发知识,掌握相关流程和技术,提升 ...