Java封装、继承、多态
1.封装核心理念【合理隐藏合理暴露】package com.popo.fengzhuang; public class Student { private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name name; } public int getAge() { return age; } // Added age validation public void setAge(int age) { if (age 0) { throw new IllegalArgumentException(Age cannot be negative.); } this.age age; } }2.继承子类能继承父类的非私有成员子类对象由子类和父类共同完成package com.popo.jicheng; public class People { private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name name; } public int getAge() { return age; } public void setAge(int age) { this.age age; } }package com.popo.jicheng; public class Student extends People { private String studentId; public String getStudentId() { return studentId; } public void setStudentId(String studentId) { this.studentId studentId; } }package com.popo.jicheng; public class extendDemo1 { public static void main(String[] args) { // 子类对象由子类和父类共同完成所以也有name和age属性 Student student new Student(); student.setName(张三); student.setAge(18); student.setStudentId(001); System.out.println(student.getName() student.getAge() student.getStudentId()); } }3.权限修饰符4.多态把子类对象赋值给父类变量存在方法重写package com.popo.duotai; public class People { String name People; public void run(){ System.out.println(People is running); } }package com.popo.duotai; public class Student extends People { String name Student; Override public void run() { System.out.println(Student is running); } }package com.popo.duotai; public class Teacher extends People { String name Teacher; Override public void run() { System.out.println(Teacher is running); } }package com.popo.duotai; public class DuotaiDemo1 { public static void main(String[] args) { // 只讨论对象和行为的多态不考虑变量的多态 People p1 new Teacher(); // 编译看左边运行看右边 p1.run(); // 输出: Teacher is running System.out.println(p1.name); // 输出: People People p2 new Student(); p2.run(); // 输出: Student is running System.out.println(p2.name); // 输出: People } }如果要使用子类独有的方法可以使用强制类型转换子类型 变量 子类型new 父对象使用instanceof可以判断父对象是否与子类型对应package com.popo.duotai; public class DuotaiDemo2 { public static void main(String[] args) { People p1 new Teacher(); People p2 new Student(); goRun(p1); // 输出: Teacher is running goRun(p2); // 输出: Student is running } public static void goRun(People p) { if (p instanceof Teacher) { Teacher t (Teacher) p; t.run(); } else if (p instanceof Student) { Student s (Student) p; s.run(); } else { p.run(); } } }

相关新闻

一句提示词生成CRUD、SSR与多任务全栈应用:AI编码能力边界实测

一句提示词生成CRUD、SSR与多任务全栈应用:AI编码能力边界实测

1. 从一句提示词到完整应用:这个实验到底在验证什么第一次看到"一句提示词实现 CRUD、SSR 与多任务"这个说法,我的反应是怀疑。原因很简单:CRUD 涉及数据层的增删改查,SSR 涉及服务端渲染的请求生命周期,多任…

2026/10/19 4:23:42 阅读更多 →
Open Code Review实战:让代码评审从形式主义走向高效协作

Open Code Review实战:让代码评审从形式主义走向高效协作

经常会遇到一种尴尬的场面:Code Review在团队里沦为“形式主义流程”,几百行代码攒一个大PR,三天后才有两个人点了个“Approve”,评论区飘着一句“LGTM”。真正想通过评审发现的问题,一个都没发现;反而因为…

2026/10/19 4:22:41 阅读更多 →
FlareOn逆向入门:从PE动态调试到JavaScript混淆破译实战

FlareOn逆向入门:从PE动态调试到JavaScript混淆破译实战

先说个结论:如果你正在找逆向入门的练手题,[FlareOn2] very_success 和 [FlareOn3] Challenge1 是两堂绕不开的必修课。前者是一道标准的 Windows PE 动态调试题,考的是在调试器里观察程序行为、定位校验分支、修改内存状态让校验“按你的想法…

2026/10/19 4:22:41 阅读更多 →

最新新闻

PyTorch深度学习框架核心机制与工程实践全解析

PyTorch深度学习框架核心机制与工程实践全解析

1. 为什么“pytorch”这个标题值得单独拎出来聊如果你在技术社区里闲逛,看到有人只甩出“pytorch”这五个字母当标题,大概率会以为这是一篇入门安装教程。但真正在一线做过深度学习项目的人都知道,这个词背后能牵扯出的东西太多了——从张量计…

2026/10/20 13:28:24 阅读更多 →
Flutter图表库fl_chart实战:BarChart柱状图全流程开发与避坑指南

Flutter图表库fl_chart实战:BarChart柱状图全流程开发与避坑指南

拿 fl_chart 做柱状图,说简单是真简单,数据一塞配置一写图就出来了;但说麻烦也麻烦,坐标轴标题、数值标签、点击交互、Tooltip,一堆细节不踩几个坑根本调不好。这篇就把我用 BarChart 这套东西的完整经验记录下来&…

2026/10/20 13:28:24 阅读更多 →
ZYNQ-6455 NDK正确版安装与双网口开发指南

ZYNQ-6455 NDK正确版安装与双网口开发指南

简介:本资源是针对TI OMAP6455处理器平台的网络开发专用NDK工具包修正版,面向嵌入式Linux/Android系统开发者,尤其适用于需调用底层网络硬件、进行高性能网络通信或移植TI官方NDK项目的中高级工程师。原版存在HAL库缺陷导致连接异常、数据传输…

2026/10/20 13:28:24 阅读更多 →
颜色分类问题解析:双指针与荷兰国旗算法详解

颜色分类问题解析:双指针与荷兰国旗算法详解

LeetCode刷题之路继续更新,今天聊聊第75题“颜色分类”。这道题在很多人的刷题清单里是绕不开的一道中等题,原因很简单:它考察的东西很底层,就是怎么在一个数组上通过交换完成排序,而且限制条件很苛刻——只允许原地操…

2026/10/20 13:28:24 阅读更多 →
零基础Python自学七天:Pygame开发大球吃小球游戏全攻略

零基础Python自学七天:Pygame开发大球吃小球游戏全攻略

1. 自学一周就敢做游戏?先聊聊这个项目是怎么冒出来的一周前,我的Python水平还停留在“能看懂print、if和for”的阶段,写过的所有“程序”加起来不超过五十行,什么面向对象、事件循环、图形绘制,全是只听过没碰过的名词…

2026/10/20 13:28:24 阅读更多 →
PyTorch深度学习框架实战:动态图、显存管理与多卡训练避坑指南

PyTorch深度学习框架实战:动态图、显存管理与多卡训练避坑指南

1. 为什么一个深度学习框架值得反复折腾刚接触深度学习那会儿,我对框架的选择其实没什么概念,别人说用什么就用什么。直到有一次跑一个图像分类的小项目,训练到一半显存爆了,报错信息看得我一头雾水,才意识到框架的底层…

2026/10/20 13:27:23 阅读更多 →

日新闻

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
ESP32舵机控制指南:原理、多路驱动与避坑实战

ESP32舵机控制指南:原理、多路驱动与避坑实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
位移法实现一阶低通滤波:单片机ADC采样降噪实战

位移法实现一阶低通滤波:单片机ADC采样降噪实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/20 10:02:13 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/19 17:32:41 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 10:02:08 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:45 阅读更多 →