java public、protected、default、private

news/2024/5/19 9:07:29/文章来源:https://www.cnblogs.com/czwlinux/p/16725179.html

java 的访问控制符为了控制类还有类对应方法的访问做限制。

如上的图表总结了类方法的访问控制范围,其实类的访问控制范围也是类似的情况。声明为public则不管外部包还是内部都能够访问,如果为default则只能本包内能够访问

关于类方法的访问范围,我们比较熟悉的是private还有public,private只有本类的内部才能访问而public则到处都能访问

这里主要聊的是default和protected

 

一、default

我们的访问限制中没有default这个关键字,但是我们没有写public、protected、default或者private则表示为default

package com.example.exampletest.testvisit;public class TestVisit {public void printPublic() {System.out.println("TestVisit:printPublic");}protected void printProtected() {System.out.println("TestVisit:printProtected");}void printDefault() {System.out.println("TestVisit:printDefault");}private void printPrivate() {System.out.println("TestVisit:printPrivate");}
}

如上的printDefault函数可以在包路径为com.example.exampletest.testvisit 中的其他类中访问的到

那么假设有一个包名为:com.example.exampletest.testvisit.nextfold 中的类是不能访问到TestVisit 中的printDefault函数

 

二、protected

在同一个包中,访问范围跟default一样就不赘述;这里主要讲不同包之间的访问

package com.example.exampletest;class TryVisits extends TestVisit {void printVisit() {this.printPublic();this.printProtected();}
}

在包com.example.exampletest中有类TryVisits 继承TestVisit,TryVisits作为TestVisit的子类,虽然跟TryVisits不在同一个包中,但是依旧能够访问的到printProtected

package com.example.exampletest;public class HelloWorld {private void testVisits() {TryVisits visits = new TryVisits();visits.printPublic();
//        visits.printProtected(); // 访问不到
    }
}

如上在跟TryVisits同一个包中的HelloWorld类new出来的TryVisits也是不能访问TryVisits的父类的成员函数printProtected,因为HelloWorld既不是TestVisit的子类也不是跟TestVisit在同一个包中。

 

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java基于ssm的自助旅游管理系统

传统的旅游方式存在着漫无目的的寻找住、吃等问题,这样游客很累,也十分浪费时间。因此一个专门用来给游客介绍一些地方的景点、吃、住、特产等信息的在线旅游网站将给游客的出行选择带来极大的方便快捷。人们迫切能有一个旅游网站,解决旅游过…

linux软件包管理 实验报告

实验任务 对软件包进行一些基础操作 实验环境 一台centos7实验步骤 1.下载一个软件包进行实验 将软件包拖进去 查看是否存在 因为只是下载了软件包,并没有安装所以用qa并不能查找到软件包 2.查看安装包的基本信息 3.查看软件包安装在哪个路径 4.安装软件包 确认是否安装…

短期逆风造成了小鹏汽车的股价持续暴跌和错误定价

来源:猛兽财经 作者:猛兽财经 小鹏汽车2022年第二季度财务业绩分析 小鹏汽车近期发布的2022年第二季度财报显示,营收超过预期,但收益未达到预期。第二季度营收为11.1亿美元,略高于预期,而每股收益亏损为0.…

node-sass安装报错及其解决方案

一、下载依赖报错 这里报错了也就没后面的剧情了,就像电视剧刚开局主角就嗝屁了,看看执行 npm i 的时候报错类容: 二、解决方案 1、下载源在国外,更换中国镜像源,删除package.json中的node-sass,分别下载node包和node-sass的依赖包1 //更换淘宝镜像源 2 npm config set re…

【牛客 - 剑指offer】JZ61 扑克牌顺子 两种方案 Java实现

文章目录剑指offer题解汇总 Java实现本题链接题目方案一 哈希表方案二 排序剑指offer题解汇总 Java实现 https://blog.csdn.net/guliguliguliguli/article/details/126089434 本题链接 知识分类篇 - 模拟 - JZ61 扑克牌顺子 题目 题目主要信息 两副扑克牌抽五张&#xff0…

图像处理之直方图均衡

直方图均衡是一种将图像中的灰度分布转换成均匀分布,从而增强图像的对比度的图像处理方法。直方图均衡可以将原本偏白或者偏黑的图像转换成对比度符合人眼视觉的图像。 1 原理 连续空间   连续空间内的图像灰度r∈[0,L−1],L表示灰度级r\in[0,L-1]&a…

上线记 | 人大金仓助力东莞卫生健康领域核心系统改造升级

随着人工智能、云计算、大数据、机器学习等新兴技术在医疗信息化建设中不断深入,以患者为中心、构建智慧医院、提升医院信息智能化问题迫在眉睫。为进一步深化医改工作,加强妇幼卫生信息管理,东莞市卫生健康局对东莞妇幼卫生信息平台进行了国…

[leetcode top100] 0923 多数元素,反转链表,翻转二叉树,回文链表,移动零

目录 169. 多数元素 - 力扣(LeetCode) 206. 反转链表 - 力扣(LeetCode) 226. 翻转二叉树 - 力扣(LeetCode) 234. 回文链表 - 力扣(LeetCode) 283. 移动零 - 力扣(Le…

2106. 摘水果(每日一难phase-day22)

2106. 摘水果 在一个无限的 x 坐标轴上,有许多水果分布在其中某些位置。给你一个二维整数数组 fruits ,其中 fruits[i] [positioni, amounti] 表示共有 amounti 个水果放置在 positioni 上。fruits 已经按 positioni 升序排列 ,每个 positi…

3. 链表

链表是一种通过指针串联在一起的线性结构,每一个结点由两部分组成,一个是数据域一个是指针域(存放指向下一个节点的指针),最后一个结点的指针域指向null(空指针的意思)。  1. 链表基础单链表:指针域只指向结点的下一个结点。双链表:每一结点有两个指针域,一个指向下…

记批处理修改计算机名一次蠢操作造成电脑指定的域不存在或无法联系

近日,公司电脑需要修改计算机名(无域控),随意在网上找了一篇修改代码,正常操作右击脚本管理员运行,输入计算机名可正常修改,但是如果运行后不输入计算机名直接点确认,则会造成计算机重启后无法登陆,提示指定的域不存在或无法联系,刚好公司也有这种坑货的存在。虽然不…

java基于ssm 的留学资讯申请网的设计与实现

随着计算机信息化的深入,越来越多的行业使用管理系统来进行管理。出国留学逐渐成为许多大学生的热门选择,但是国外学校多,选择性大,如果从这些信息中,挑选符合自己的学校是非常重要的事情。基于此,开发”萨…

C#基础--集合

文章目录集合集合接口和类型列表创建列表集合初始值设定项添加元素插入元素访问元素删除元素搜索元素排序队列栈链表有序列表字典字典初始化器键的类型Lookup 类有序字典集性能集合 集合接口和类型 大多数集合类都可在System.Collections和System.Collections.Generic名称空间…

河北稳控科技手持VH501TC混合传感器信号采集读数仪工程监测仪器介绍

河北稳控科技手持VH501TC混合传感器信号采集读数仪工程监测VH501TC手持采集读数仪,设备是专用的多类型传感器手持式读数仪,主测传感类型为单弦式振弦传感器,辅测传感类型为电压、电流传感。采用 32 位 ARM 处理器和大尺寸全彩屏、阵列按键设计,彩屏,不受阳光影响,清楚明了…

SpringCloud使用注解+AOP+MQ来实现日志管理模块

简介 无论在什么系统中,日志管理模块都属于十分重要的部分,接下来会通过注解+AOP+MQ的方式实现一个简易的日志管理系统 思路 注解: 标记需要记录日志的方法 AOP: 通过AOP增强代码,利用后置/异常通知的方式获取相关日志信息,最后使用MQ将日志信息发送到专门处理日志的系…

【Python初级人工智能精讲】用Paddlehub给一段没有标点符号的文字加上合适的标点符号

Python初级人工智能精讲 文章目录Python初级人工智能精讲一、写在前面二、七步精讲三、模型介绍四、进入实战1.源代码2.运行效果(1) cmd方面(2) txt文件运行前后对比五、休吃霸王餐六、每日一句一、写在前面 今天给分享的程序是:给一段文字自动加上合适的标点符号&…

【图像重建】基于极限学习机实现图像重建附matlab代码

1 内容介绍 本文采用 ELM 网络求解 ECT 非线性正问题,以提高求解精度,再将其与传统 Landweber 迭代算法相结合,进行图像重建,算法原理框图如图 3 所示,为叙述方便,将该方法记为 ELM-Landweber 算法。 2 部…

卡尔曼滤波(Kalman Filter)设计与应用

估计离散时间或连续时间线性系统的状态。 卡尔曼滤波(Kalman filter)是一种高效率的递归滤波器(自回归滤波器),它能够从一系列的不完全及包含噪声的测量中,估计动态系统的状态。卡尔曼滤波会根据各测量量在…

最新 Hi3861开发环境搭建

Hi3861开发环境 最好参考官方文档: Hi3861开发环境 这里做下记录 (1)安装编译依赖基础软件(仅Ubuntu 20需要) 执行以下命令进行安装: sudo apt-get install build-essential gcc g make zlib* libffi-de…

最大子数组和-前缀和/动态规划/分治/暴力-Java/c++

一、题目描述 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组 是数组中的一个连续部分。 二、思路解析 1.前缀和 2.动态规划思想 题目只是要求一个结果&#xff…