私有属性的特点及其构造方法的作用(java)
1. 私有属性private的特点私有属性是 Java 中封装的核心实现方式主要特点如下表格特点说明访问权限限制只能在当前类的内部直接访问外部类包括子类都无法直接读取或修改数据安全性避免外部代码随意修改对象的内部状态防止数据被意外篡改封装性体现隐藏对象的内部实现细节只对外暴露必要的访问接口如 getter/setter可控性强可以在 getter/setter 中添加校验逻辑比如血量不能为负数、攻击力不能超过上限示例相关代码 public class Hero { private String name; private int hp; // 血量 private int maxHp; // 最大血量回血用 private int minAttack; // 最小攻击力 private int maxAttack; // 最大攻击力 private Random random new Random(); // 构造方法 public Hero(String name, int hp, int minAttack, int maxAttack) { this.name name; this.hp hp; this.maxHp hp; this.minAttack minAttack; this.maxAttack maxAttack; } // 随机攻击力攻击方法 public void attack(Hero enemy) { // 随机生成伤害 int damage random.nextInt(maxAttack - minAttack 1) minAttack; System.out.println(this.name 正在攻击 enemy.name 造成伤害 damage); enemy.hp - damage; if (enemy.hp 0) { enemy.hp 0; } System.out.println(enemy.name 剩余血量 enemy.hp); } // 回血方法30%概率触发 public void heal() { if (random.nextDouble() 0.3) { // 30%概率回血 int healAmount random.nextInt(15) 5; // 回5-20血 hp healAmount; if (hp maxHp) { hp maxHp; } System.out.println(this.name 触发回血效果恢复了 healAmount 点血量当前血量 hp); } } // 判断是否存活 public boolean isAlive() { return this.hp 0; } // Getter 方法 public String getName() { return name; } } // 主类运行拓展版游戏 class BattleManage { public static void main(String[] args) { // 创建英雄对象带攻击范围 Hero houyi new Hero(后羿, 100, 15, 25); Hero anqila new Hero(安琪拉, 100, 20, 30); // 回合制战斗 int round 1; while (houyi.isAlive() anqila.isAlive()) { System.out.println(\n--- 第 round 回合 ---); // 后羿攻击 houyi.attack(anqila); if (!anqila.isAlive()) { break; } anqila.heal(); // 安琪拉尝试回血 // 安琪拉攻击 anqila.attack(houyi); if (!houyi.isAlive()) { break; } houyi.heal(); // 后羿尝试回血 round; } // 判断输赢 if (houyi.isAlive()) { System.out.println(\n 战斗结束 houyi.getName() 获胜); } else { System.out.println(\n 战斗结束 anqila.getName() 获胜); } } }java运行private int hp; // 私有血量属性 // 外部无法直接修改只能通过setHp方法控制 public void setHp(int hp) { if (hp 0) { // 校验逻辑血量不能为负数 this.hp hp; } else { System.out.println(血量不能为负数); } }2. 构造方法的作用构造方法是一种特殊的方法它的作用主要有以下几点表格作用说明对象初始化在创建对象时给对象的属性赋初始值确保对象创建后处于一个合理的状态简化对象创建可以通过带参构造方法一次性给多个属性赋值避免创建对象后多次调用 setter 方法强制初始化规则可以通过构造方法强制要求创建对象时必须传入某些必要参数如英雄的名字、血量支持重载可以定义多个不同参数的构造方法提供多种对象创建方式示例java运行// 无参构造方法默认构造方法 public Hero() { System.out.println(创建了一个默认英雄); } // 带参构造方法 public Hero(String name, int hp, int minAttack, int maxAttack) { this.name name; this.hp hp; this.maxHp hp; this.minAttack minAttack; this.maxAttack maxAttack; }3. 两者的配合关系私有属性通过构造方法在对象创建时完成初始化确保对象从诞生起就处于合法状态构造方法可以对传入的参数进行校验间接保护私有属性的数据安全两者结合实现了 Java 面向对象中封装的核心思想对外隐藏细节对内保证安全。

相关新闻

设备全生命周期成本怎么分析?维修、能耗、停机和产能都要算清楚

设备全生命周期成本怎么分析?维修、能耗、停机和产能都要算清楚

很多工厂判断一台设备贵不贵,只看两笔账:买设备花了多少钱;每年维修花了多少钱。但设备真正昂贵的地方,往往不在采购价,也不只在维修费。有些设备买得便宜,后面却能耗高、故障多、备件贵;有些设…

2026/7/23 11:25:18阅读更多 →
Django毕业设计-基于 Django 的农产品产地直售电商网站的设计与实现 乡村特色农产品农户直卖交易平台设计(源码+LW+部署文档+全bao+远程调试+代码讲解等)

Django毕业设计-基于 Django 的农产品产地直售电商网站的设计与实现 乡村特色农产品农户直卖交易平台设计(源码+LW+部署文档+全bao+远程调试+代码讲解等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/23 11:25:18阅读更多 →
嵌入式AES硬件加速器实战:从ECB到GCM的配置与优化

嵌入式AES硬件加速器实战:从ECB到GCM的配置与优化

1. AES硬件加速器:嵌入式安全的基石 在嵌入式系统开发中,数据安全正从一个“加分项”演变为“必需品”。无论是智能家居设备间的通信、工业传感器的数据上报,还是穿戴设备的健康信息同步,数据在传输和存储过程中的机密性与完整性都…

2026/7/23 11:23:17阅读更多 →
通风管道一站式工程服务模式行业发展分析

通风管道一站式工程服务模式行业发展分析

在现代建筑和工业领域中,风管起着至关重要的作用。它是空气输送和分配的关键通道,直接影响着室内环境的舒适度、空气质量以及工业生产过程中的通风需求。一个优质的风管系统不仅能保障空气的顺畅流通,还能降低能耗,提高整个系统的…

2026/7/23 12:53:31阅读更多 →
北京华恒智信破解国有维修企业忙闲不均、干多干少一个样难题

北京华恒智信破解国有维修企业忙闲不均、干多干少一个样难题

【客户行业】服务行业【问题类型】薪酬绩效【客户背景】某大型车辆维修公司隶属于某大型旅游服务集团,该集团是国资委下属的一家以旅游景区管理、旅游客运为龙头,集娱乐休闲、宾馆接待、会议度假为一体的综合性国有企业。该维修公司作为它的组成部分&…

2026/7/23 12:53:31阅读更多 →
计算机毕业设计之基于SpringBoot的人工智能知识科普平台设计与实现

计算机毕业设计之基于SpringBoot的人工智能知识科普平台设计与实现

摘要随着互联网技术的迅猛发展和人工智能技术的日益普及,构建一个高效、便捷的人工智能知识科普平台变得尤为重要。传统的知识传播方式存在时空限制,而基于Spring Boot的平台能够利用其快速开发和部署的优势,打破这些限制。基于Spring Boot的…

2026/7/23 12:53:31阅读更多 →
北京华恒智信破解餐饮门店店长不愿培养人、不会培养人管理痛点

北京华恒智信破解餐饮门店店长不愿培养人、不会培养人管理痛点

【客户行业】食品行业;连锁餐饮公司【问题类型】人才管理;人才管理系统【客户背景】某连锁餐饮公司,拥有独特的经营模式和广泛的市场覆盖,为消费者提供了丰富多样的餐饮选择。近年来,公司凭借强大的品牌影响力、成熟的…

2026/7/23 12:53:31阅读更多 →
杂交瘤筛选系统的原理、方法与关键参数控制

杂交瘤筛选系统的原理、方法与关键参数控制

一、引言杂交瘤技术由Khler和Milstein于1975年建立,其基本原理建立在三个核心原则之上:其一,一个致敏的B细胞克隆只产生一种抗体;其二,细胞融合产生的杂交瘤细胞可同时保持双方亲代细胞的特性;其三&#xf…

2026/7/23 12:53:31阅读更多 →
工业巨头伍尔特,为何放弃3D打印?

工业巨头伍尔特,为何放弃3D打印?

Wrth集团(伍尔特集团)是一家创立于1945年的德国家族企业,在全球装配与紧固件市场处于领先地位。今年6月底,Wrth集团通过领英发布了一则不足50词的简短声明,确认关闭旗下增材制造业务部门Wrth Additive。对于工业3D打印…

2026/7/23 12:51:31阅读更多 →
Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/23 0:56:31阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/23 0:56:31阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/23 0:56:31阅读更多 →
Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具 【免费下载链接】chitchatter Secure peer-to-peer chat that is serverless, decentralized, and ephemeral 项目地址: https://gitcode.com/gh_mirrors/ch/chitchatter Chitchatter是一款革命性的安…

2026/7/23 0:00:28阅读更多 →
从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

更多请点击: https://intelliparadigm.com 第一章:从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表) 当AI副业主理人不再仅满足于单次服务交付,而是主动构建可复用、可裂变、可…

2026/7/23 0:00:28阅读更多 →
油泥处理设备哪里能买到

油泥处理设备哪里能买到

油泥处理设备哪里有?这是许多从事油田、炼化、清罐业务的从业者最关心的问题。根据河南三丰环保设备有限公司的行业经验,选购油泥处理设备的核心在于设备能否适配当地环保法规与原料特性,而非单纯看价格。该公司总经理王钦田先生指出&#xf…

2026/7/23 0:00:28阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/22 22:56:18阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/22 18:55:50阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/22 18:55:50阅读更多 →