千家信息网

Java访问权限控制使用不当的示例分析

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这期内容当中小编将会给大家带来有关Java访问权限控制使用不当的示例分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。01 访问权限控制的重要性舒淇曾说过这样一句令
千家信息网最后更新 2025年12月02日Java访问权限控制使用不当的示例分析

这期内容当中小编将会给大家带来有关Java访问权限控制使用不当的示例分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

01 访问权限控制的重要性

舒淇曾说过这样一句令人感到震撼后又虎躯一震的话:"我要把我曾经脱下的衣服一件一件的穿回来!"如今,她做到了--通过自己的努力,不仅得到了观众的认可,得了很多大奖,还收获了幸福。尽管,真的是尽管,还有一些"忆往昔峥嵘岁月稠"的朋友在电脑硬盘的深处留存了一些舒淇早年的珍藏版照片。

我扯这个例子主要为了证明一句话--访问控制(或隐藏具体实现)与"最初的实现并不恰当"有关--如果舒淇当初那些照片的权限不是那么公开化的话,那现在就可以私自烧毁了;或者换一种出道方式;然而没有如果了。

在你最初的编程生涯中,不知道你是否创作过下面这样"优秀"的代码,就像程序清单1-1那样。

程序清单1-1:

public class NiubiUtil {
public static Date getNextDay() {
long millis = 24 * 60 * 60 * 1000;
try {
Thread.sleep(millis);
} catch (InterruptedException e) {
e.printStackTrace();
}
return new Date(System.currentTimeMillis());
}
}

本来你这些代码只是自己写着玩呢,谁知道被一个叫小二哥的同事不经考量地调用了。这一调用不要紧,小二哥的代码真的活活地等了一整天--产品经理小王老师某一天心血来潮非要测试小二哥的代码,然后点了查看下一天的按钮,程序真的在那静静地等着,直到下一天真的来临。

后果是,小王老师为了安抚用户们躁动的情绪把小二哥直接拉出去祭天了;你躲在角落里瑟瑟发抖,心里默默念叨了句话--"小二哥,你走好,兄弟真的对不住了"。

一场血淋漓的惨案啊!只因为Java访问权限控制的使用不当--该private的方法,结果失误写成了public--论访问权限控制的重要性。

02 为什么需要访问权限控制

我已经在Java编程的道路上混迹了多年,自然也写过无数曾经看起来那么"优秀"的代码。随着时间的推移,再回首过往的那些代码时,总有一种"这真的出自我手?"的疑问。

这种疑问包含两层意思,一层是感慨真的写得好,就好像年老时的李白看见自己年少时写的《望庐山瀑布》:"日照香炉生紫烟,遥看瀑布挂前川;疑是银河落九天,飞流直下三千尺。"--哟,老子年轻时写得也不赖啊。

另外一层是感慨真的写得差,比如说程序清单1-1,往事不堪回首啊,只能都随风,都随风,都随风而去!

对于这些写得很差的代码,我每次看见都想再修改一次,期待她更可读、更易理解、更具可维护性;但在美好的愿景下,也存在着巨大的压力,因为有好多其他的地方引用了要修改的代码,牵一发而动全身啊。

在变与不变的过程中,我发现--访问权限控制真的太重要了。在写代码的过程中,我们需要尽量遵循这样一个原则--除了那些必须public的方法,尽量把其他方法定义为private。这样做的好处是,在重构private方法的时候不必再担惊受怕,因为它们不会被类外部访问到。

03 protected权限修饰符是用来干嘛的

我们知道,public权限修饰符使类的一切方法和属性对外可见;private权限修饰符使类的一切方法和属性只对内部可见;那么protected权限修饰符呢?

假如有一个叫王二的家伙,他有三个属性,分别是私生活、外在形象和被保护的财产,就像程序清单3-1那样。

程序清单3-1:

public class Wanger {

// 私生活
private String life;

// 外在形象
public String image;

// 被保护的财产
protected String money;
}

王二生了一个孩子叫王小二,就像程序清单3-2那样。

程序清单3-2:

public class Wangxiaoer extends Wanger{
@Override
public String toString() {
return "可以继承的财产:" + money + ";塑造的人设:" + image + ";得不到的私生活:";
}
}

王小二可以继承到王二的财产money(据说王二在王小二出生的第一个月为其存了100,以后每个月的利率为12%,现在存款是3758.17,你知道王小二现在多大了吗?),也可以模仿一点父亲的外在形象image,但却不能按照父亲的私生活方式生活。

注意到三个权限修饰符的区别了吗?

protected可以保护王二的财产顺利地继承到王小二那里,外界的人是访问不到的;public不安全,因为不仅王小二可以继承访问,外界其他人也可以访问;private太私有化,不仅外界访问不到,王小二也继承不到。


访问权限控制的两个重要作用:第一是为了防止外界触碰到不该触碰的地方(private修饰的成员变量或者方法);第二是让类的设计者可以更改内部(private修饰的成员变量或者方法)的工作方式,而不必担心有没有对外界造成干扰。

上述就是小编为大家分享的Java访问权限控制使用不当的示例分析了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。

权限 控制 代码 方法 程序 清单 王小 王小二 二哥 外界 财产 分析 重要 私生活 不当 属性 形象 方式 舒淇 保护 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 沈阳互联网软件开发工程师 和平精英怎么看服务器好坏 计算机网络安全风险评估 我的世界服务器不能连接红叉 成都启程新维网络技术有限公司 unix数据自动传到服务器 软件开发与维护划分为6个阶段 济南有实力的浪潮存储服务器价格 数据库技术人工管理阶段 宝德云服务器 江西智慧社区软件开发哪儿好 网络技术分大小写吗 重庆软件开发app 嘉兴app软件开发 软件开发公司的工作内容 闵行区即时网络技术产品 戴尔服务器关闭安全启动 查看服务器是否有重启任务 学校网络安全检查总结报告模板 游戏服务器出问题了游戏会怎么样 石家庄网络安全学院官网 连接金蝶k3数据库表 哪一个服务器里面有小杜小杜 连接数据库异常处理 佛山汇龙互联网科技有限公司 阿里服务器刷bmc 服务器管理口页面端口 温州瑞银网络技术 跟谁学软件开发 如何保证外网服务器的安全
0