《Java》private、protected、public区别及解析

news2024/11/24 10:46:26

在这里插入图片描述
我们今天来给大家解析一下Java中四种修饰类型的区别。
那么有的老铁就疑惑了,文章名称不是说三种吗?其实还有一种隐藏的修饰类型(默认类型)英文翻译过来的话是define,这就是我们什么都不修饰,例如:int a=0; 那么这个a就是默认类型的。我们今天将结合一个实例来帮助老铁们理解这块知识点

首先我们知道,QQ这个东西我们用的都很熟系吧。他有很多增值业务。能让你享受到更多的特权以及更好的体验。而QQ中的会员是最有代表性的,我们将其划分为四项:普通用户、QQ会员(VIP)、QQ超级会员(SVIP)、QQ大会员

private(普通用户)

在这里插入图片描述

private:代表封装的意思,对于一个手机的话,我们能看到的是有屏幕,机身,而内部的结构我们是看不到的,这就是封装的意义,使用范围是同一包中的同一类(普通用户功能)***
在这里插入图片描述

class Best{
    private int count;
    public int num;
}

public class Test {

    public static void main(String[] args) {
        Best best=new Best();
        best.count=1;
        best.num=2;
    }
}

我们可以看到,在使用best访问count是会变红的,代表不可以使用,那么被private修饰的变量在其他类如何访问呢?
在这里插入图片描述

class Best{
    private int count;
    public int num;

    public void setCount(int count) {
        this.count = count;
    }

    public int getCount() {
        return count;
    }
}

public class Test {
    public static void main(String[] args) {
        Best best=new Best();
        best.setCount(1);
        //best.count=1;
        best.num=2;
    }
}

很多老铁已经想到的,是的!就是利用公开的方法来帮助修改与输出count的值!
对于QQ的普通用户也是一样的 ,如果想要使用尊贵的QQ会员才能够享受的功能,就必须动一点小脑筋。

define(QQ会员)

在这里插入图片描述

默认类型,开头已经介绍了,对于定义一个变量不做任何修饰的话就是默认类型,他的使用范围是同一包中的同一类(普通用户功能)、同一包中的不同类(QQ会员功能)
在这里插入图片描述
我们可以看到没有添加任何的修饰,我们的不同类还是可以访问的,那么同一个包是什么意思呢?

在这里插入图片描述
我们可以看到这个Demo1包,在这个包下的所有类都可以访问到这个变量
也就是我们尊贵的QQ会员,享受到了尊贵的体验与区别,是的!充钱使你变得强大!

protected(QQ超级会员)

在这里插入图片描述

protected:可以被该类中的函数、子类的函数、以及其友元函数访问,但不能被该类的对象访问,作用范围是同一包中的同一类(普通用户功能)、同一包中的不同类(QQ会员功能)、不同包中的子类(QQ超级会员功能);

是的,比 QQ会员要享受更多的特权,如果你感觉充钱还不够强!那么你可以再冲!

在这里插入图片描述
在这里插入图片描述

这个在应用中会有很多需要注意到的点 首先是子类,要继承父类才可以使用,而且在使用中 为何我还要写一个func方法呢,我们是否还记得静态方法中不能直接访问,所以我们需要一个非静态的方法来进行访问,这就是func方法的意义,对的,即使你再次充钱了!还是达不到你起飞的地步

public(QQ大会员)

在这里插入图片描述

对于老马旗下的游戏来说,只要你一直冲。你就是大佬,那么在你不断的金钱诱惑下,你也变得非常的强大了
public:可以被该类中的函数、子类的函数、其友元函数访问,也可以由该类的对象访问,这就是顶级的QQ增值业务,拥有横穿各个区域的钞能力。
是的!对于顶级用户(public)开通了大会员服务,任何的类跟包可以相互跳转使用,这无疑是体现了钞能力!

作用范围是同一包中的同一类(普通用户功能)、同一包中的不同类(QQ会员功能)、不同包中的子类(QQ超级会员功能)、不同包中的非子类(QQ大会员)

我们使用了QQ会员例子来给大家形象的举例了修饰限定符,不知大家理解了吗?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/4872.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C/C++动态内存 or 柔性数组】——对动态内存分配以及柔性数组的概念进行详细解读(张三 or 李四)

目录前言(栈区、堆区、静态区)动态内存函数malloc与freecalloc与freerealloc与free常见的动态内存错误经典笔试题(再见张三)柔性数组前言(栈区、堆区、静态区) 请耐心看完,看完后就会对内存中的…

天玑9200领跑背后,高端芯片掀起蝴蝶效应

过去一年,天玑9000让联发科在高端旗舰机市场掀起了一场“旋风”。全球知名市场调研机构Counterpoint Research发布的报告显示,联发科在全球和中国智能手机芯片市场份额中连续八个季度保持第一的领先地位,且在高端手机市场的份额有显著增长。另…

PowerShell 美化(谁不想要一个好看的终端呢)

PowerShell 美化安装powershellScoop 安装Oh My Posh安装字体设置应用主题花里胡哨的折腾(bushi 多种主题任君挑选 安装powershell 地址:https://github.com/PowerShell/PowerShell/releases 本文主要使用 Oh My Posh 进行美化 地址:https…

C语言之指针(中)

目录 前言 一、字符指针 1.用法(两种) 2.例子 二、指针数组 三、数组指针 1.数组指针的定义 1.概念 2.例子 2.数组名 3.使用 1.使用的情景 2.例子 四、数组参数、指针参数 1.数组传参 2.指针传参 五、函数指针 1.函数的地址 2.函数指针 3.例子 4.两个特…

【C++】泛型编程之模板初阶

文章目录1. 泛型编程2. 模板2.1 模板的概念3. 函数模板3.1 函数模板概念3.2 函数模板语法3.3 函数模板的原理3.4 函数模板的实例化3.5 模板参数的匹配原则3.6 普通函数与函数模板的区别4. 类模板4.1 类模板语法4.2 类模板的实例化4.3 类模板与函数模板区别4.4 类模板分文件编写…

Word控件Spire.Doc 【文本】教程(17) ;在Word中设置文本方向

Spire.NET的Spire.是MicrosoftDoc人员对Word文档进行操作打印的.NET类库。帮助单独安装Microsoft Word在开发环境下,轻松便捷地创建、编辑、转换和转换Word文档。拥有近10个专业开发经验Spire系列办公文档开发打印工具,专注于创建、编辑、转换和Word/Exc…

C++设计模式---组合模式

文章目录使用场景组合模式的定义安全组合模式使用场景 组合模式和类与类之间的组合是不同的概念。 组合模式主要用来处理树形结构的数据,如果要表达的数据不是树形结构,就不太适合组合模式。 比如我们有一个目录结构: 这个目录我们把它绘…

图解LeetCode——1704. 判断字符串的两半是否相似(难度:简单)

一、题目 给你一个偶数长度的字符串 s 。将其拆分成长度相同的两半,前一半为 a ,后一半为 b 。 两个字符串 相似 的前提是它们都含有相同数目的元音(a,e,i,o,u,A,E&…

几分钟实现对恶意IP地址进行拦截,腾讯云Web防火墙实在太香了!

一、概述 在平时上网中,我们经常听到“xxx被拉入黑名单”、“把xxx加入白名单”,黑白名单成了禁止访问和允许访问的代名词,黑白名单是一种常见的安全机制,用于隔离流量,然后对隔离的流量采取特定操作。 黑名单代表只…

Redis高可用之持久化

一 Redis高可用 什么是高可用 在web服务器中,高可用是指服务器可以正常访问的时间,衡量的标准是在多长时间内可以提供正常服务(99.9%、99.99%、99.999%等等)。 但是在Redis语境中,高可用的含义似乎要宽泛一些,除了保证提供正常…

Pytorch实战:基于鲸鱼WOA优化1DCNN的轴承故障诊断

目录 0.引言 1.关键点 2.WOA优化1DCNN超参数实战 2.1 数据准备 2.2 1DCNN故障诊断建模 2.3 采用WOA优化1DCNN超参数 0.引言 采用1DCNN进行轴承故障诊断建模,并基于鲸鱼优化算法WOA对1DCNN的超参数进行优化,以实现更高的精度。建立一个两层的1DCNN&a…

【Transformers】第 9 章 :处理很少或没有标签

🔎大家好,我是Sonhhxg_柒,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 📝个人主页-Sonhhxg_柒的博客_CSDN博客 📃 🎁欢迎各位→点赞…

[C]实现能在本地存储的简易通讯录

作者: 华丞臧. 专栏:【C语言】 各位读者老爷如果觉得博主写的不错,请诸位多多支持(点赞收藏关注)。如果有错误的地方,欢迎在评论区指出。 文章目录一、文件动态通讯录二、相关代码解析2.1 初始化2.2 销毁通讯录2.3 增加联系人2.4 …

NLP模型(一)——word2vec实现

文章目录1. 整体思路2. 数据处理3. 数据准备4. 创建数据管道5. 构建模型6. 模型训练7. 加载模型得到词向量8. 总结前面我介绍了word2vec算法的两种实现算法,Skip−gramSkip-gramSkip−gram 以及 CBOWCBOWCBOW 算法,我认为理解一个算法最好的方法就是复现…

stft的窗函数设计要求和方法(COLA)

在语音处理进行短时傅里叶变换的时候,对窗函数是有一定要求的,这篇文章将对这方面的问题进行简单的阐述。 一、背景描述 常用的语音处理需要进行这样处理: stft分帧会对信号产生截断,为尽可能避免这种影响,应考虑考虑加合适的窗 …

互融云借条APP系统开发 六大系统优势全面保障

借条是指借个人或公家的现金或物品时写给对方的条子。它是一种凭证性文书,通常用于日常生活以及商业管理方面。借条的本质就是借款合同,只不过形式比较简单,那么电子借条也就是简单的电子借款合同。与传统的纸质合同相比,电子借条…

目标检测算法——YOLOv5/YOLOv7改进之结合无参注意力SimAM(涨点神器)

目录 (一)前言介绍 1.摘要 2.不同注意力步骤比较 (二)相关实验 (三)YOLOv5结合无参注意力SimAM 1.配置.yaml文件 2.配置common.py 3.修改yolo.py SimAM:无参数Attention助力分类/检测/分…

想带着学生做一个操作系统,可行性有多大?

有知乎网友提问如下: 想带着学生做一个操作系统,可行性有多大? 个人觉得可行性非常大,如果只是做着来玩,让学生了解操作系统时如何实现的话。但是,如果你打算今后商业化的话,那就另当别论了。就算你能做出来…

单片机实验——水塔自动抽水系统设计(基于Proteus仿真)

实验内容及要求 自来水供水是现代生活的一大特点,水塔作为储水装置是自来水系统必不可少的重要设施,让水塔保持一定的水量是自来水不断供的必要条件,本设计模拟自来水系统中水塔的自动抽水机制,设计分为控制系统和虚拟水塔两部分…

若依管理框架-漏洞复现

文章目录 0x00 介绍0x01 默认口令漏洞0x02 SQL注入0x03 Shiro反序列化漏洞0x04 任意文件读取/下载0x05 定时任务0x06 `swagger-ui.html`接口文档泄漏0x07 Druid未授权访问摘抄免责声明0x00 介绍 RuoYi 是一个 Java EE 企业级快速开发平台,基于经典技术组合(Spring Boot、Apa…