news 2026/5/7 5:03:16

Java 封装、继承、多态

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Java 封装、继承、多态

1. 封装(Encapsulation)

一句话解释

把属性藏起来,不让外面随便改,只留公开方法访问。
核心:安全、可控、保护数据

生活例子

你有个银行卡

  • 钱(余额)是藏在里面的
  • 你不能直接伸手去改余额
  • 只能通过存/取这两个方法操作

代码例子

publicclassUser{// 私有属性,外面不能直接访问privateStringname;privateintage;// 公开方法,让外面可控地访问/修改publicStringgetName(){returnname;}publicvoidsetAge(intage){// 这里可以加控制!!!封装的精髓if(age<0||age>150){System.out.println("年龄不合法");return;}this.age=age;}}

为什么要用?

  • 防止乱改数据(比如年龄设成 -10)
  • 内部逻辑可以随便改,外部不受影响
  • 代码更安全、更好维护

2. 继承(Inheritance)

一句话解释

子类继承父类,直接拥有父类的属性和方法,不用重复写。
核心:代码复用、层级关系

生活例子

  • 父类:(有名字、年龄、会吃饭、睡觉)
  • 子类:学生→ 继承人类
    学生自动有:名字、年龄、吃饭、睡觉
    学生额外有:学号、学习方法

代码例子

// 父类publicclassPerson{Stringname;intage;publicvoideat(){System.out.println("吃饭");}}// 子类 extends 父类publicclassStudentextendsPerson{// 自动拥有 name、age、eat()StringstudentId;publicvoidstudy(){System.out.println("学习");}}

好处

  • 不用重复写相同代码
  • 结构清晰
  • 方便统一扩展、修改

3. 多态(Polymorphism)

一句话解释

同一个方法,在不同子类里表现出不同行为。
核心:父类引用指向子类对象,调用时表现子类行为

生活例子

  • 父:动物→ 有个方法叫叫()
  • 狗:叫()→ 汪汪汪
  • 猫:叫()→ 喵喵喵
  • 羊:叫()→ 咩咩咩

同样是“叫”,结果不一样 → 这就是多态。

代码例子

// 父类publicclassAnimal{publicvoidshout(){System.out.println("动物叫");}}// 子类1publicclassDogextendsAnimal{@Overridepublicvoidshout(){System.out.println("汪汪汪");}}// 子类2publicclassCatextendsAnimal{@Overridepublicvoidshout(){System.out.println("喵喵喵");}}

使用:

Animala1=newDog();Animala2=newCat();a1.shout();// 输出:汪汪汪a2.shout();// 输出:喵喵喵

多态的 3 个必要条件

  1. 继承
  2. 方法重写(@Override)
  3. 父类引用指向子类对象

终极一句话总结

  • 封装:把数据藏起来,安全可控
  • 继承:子类抄父类作业,少写代码
  • 多态:同一个方法,不同子类有不同表现
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/7 5:03:15

3步解决Windows苹果设备连接问题:终极驱动安装指南

3步解决Windows苹果设备连接问题&#xff1a;终极驱动安装指南 【免费下载链接】Apple-Mobile-Drivers-Installer Powershell script to easily install Apple USB and Mobile Device Ethernet (USB Tethering) drivers on Windows! 项目地址: https://gitcode.com/gh_mirror…

作者头像 李华
网站建设 2026/4/20 2:41:41

能源材料品牌全案公司找哪家

在能源材料行业&#xff0c;选择一家合适的品牌全案公司至关重要。湖南相传品牌设计有限公司&#xff08;相传国际&#xff09;凭借其独特的服务体系、丰富的行业经验和专业的服务能力&#xff0c;成为能源材料品牌全案服务的优质之选。本文将围绕其企业实力、行业经验、服务理…

作者头像 李华
网站建设 2026/4/17 21:35:09

MySQL基础

1登录MySQLmysql -u root -p然后输入密码&#xff0c;出现mysql>表示成功2创建数据库-- 创建数据库&#xff08;名字自己改&#xff0c;比如 testdb&#xff09; CREATE DATABASE testdb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ​ -- 查看所有数据库 SHOW DATA…

作者头像 李华
网站建设 2026/4/17 13:20:17

vivado hls的ap_ctrl_none的使用

一、说明 1.ap_ctrl_none&#xff1a;最精简的模式&#xff0c;不产生任何握手信号&#xff0c;模块依靠数据有效信号持续工作 2.ap_ctrl_none也就是free-run模式&#xff0c;永动机模式 3.ap_ctrl_none的应用高度依赖于#pragma HLS dataflow指令&#xff0c;目的是在数据流区域…

作者头像 李华
网站建设 2026/4/18 1:54:04

艾默生15kW直流充电模块DCDC控制软件分析

系统概述 艾默生15kW直流充电模块是一款高性能的电力转换设备&#xff0c;采用DSP2803x系列数字信号处理器作为核心控制器。该软件系统实现了对直流-直流&#xff08;DCDC&#xff09;转换器的精确控制&#xff0c;具备完善的保护机制和通信功能。 核心架构设计 1. 控制系统…

作者头像 李华