CodeGym
促销
学习
课程
任务
调查 & 测验
游戏
帮助
日程
社区
Users
论坛
聊天
文章
成功故事
动态
评价
订阅
浅色主题

课时

  • 评论
  • 关于我们
开始
开始学习
立即开始学习
  • 我的进度
  • 课程
  • 任务地图
  • 课程
  • 抽象与层次结构的实现

    JAVA 25 SELF
    等级 19,课时 2
    关于在 Java 中构建类层次的实用指南:从抽象到细节。通过“图形”、迷你编辑器、支付与交通的示例,展示如何把共性上移到基础的 abstract 类,重写诸如 area()/ draw() 等方法,在不重写旧代码的情况下扩展系统,并避免重复。最后给出常见错误概览与设计建议。
    可用
  • 在真实场景中构建抽象的示例

    JAVA 25 SELF
    等级 19,课时 3
    练习在真实场景中应用抽象:支付、交通工具、图形编辑器。展示如何把共同行为提取到基础 abstract 类,通过统一契约工作,并用多态替代“分支繁多”的 if- else 代码。过程中我们会看到,如何以一致的方式调用如 process()、 move()、 draw()/ resize() 之类的方法,使代码更加灵活且可扩展。
    可用
  • 通过抽象简化复杂系统

    JAVA 25 SELF
    等级 19,课时 4
    如何将复杂应用拆分为抽象层(UI、业务逻辑、数据访问),以保持代码清晰且可扩展。我们将实践构建一个迷你 task‑manager,分层包含 Task、 TaskRepository、 TaskService,演示实现的替换以及对团队的益处。还会讲解最佳实践、常见错误,并给出带有服务 OrderService/ OrderRepository 的示例,以及如 saveOrder() 和 findUserById() 等方法。
    可用
  • 接口的概念与声明语法

    JAVA 25 SELF
    等级 20,课时 0
    在本课中,你将了解 Java 中的接口是什么,如何使用关键字 interface 声明接口,类如何通过 implements 实现契约,以及为什么方法在默认情况下被视为 public abstract。我们还会讲解接口与类的区别、来自 JDK 的示例( Comparable、 Runnable、 Serializable)、可视化示意图以及常见错误。
    可用
  • 接口与抽象类的区别

    JAVA 25 SELF
    等级 20,课时 1
    在本讲中,我们将对比 Java 中的接口与抽象类:何时选择哪一个、它们在能力与限制上的差异、它们的签名长什么样( abstract class 与 interface)、 public、 abstract、 static 等修饰符意味着什么;同时还会查看 JDK 中的示例、实践案例以及常见错误(继承、实现、以及 implements/ extends 的使用)。
    可用
  • 接口的多重实现

    JAVA 25 SELF
    等级 20,课时 2
    本讲将讲解 Java 中一个类如何同时实现多个接口:使用关键字 implements 的语法、角色的组合(例如 Movable、 Attackable、 Serializable)、方法签名相同时的处理、不存在“菱形继承问题”,以及当 default 方法发生冲突时该怎么办。文中提供了实践示例并解析常见错误。
    可用
  • 函数式接口:@FunctionalInterface

    JAVA 25 SELF
    等级 20,课时 3
    在本讲座中,我们将讲解什么是函数式接口(恰好一个抽象方法),如何以及为何用注解 @FunctionalInterface 标记它,接口可以通过 default 和 static 方法进行扩展,以及如何在实践中使用这类接口(普通类与匿名类)。结合 Runnable、 Comparator<T> 和 Java.util.function 中的接口,附有表格与常见错误解析。
    可用
  • Java 架构中的接口与设计模式

    JAVA 25 SELF
    等级 20,课时 4
    接口如何将代码转化为灵活的架构:面向抽象编程,通过 DI 注入依赖,在测试中替换实现,在不修改内核的前提下添加新行为( OCP)。解析接口如何构成 Observer、 Strategy、 Command 等模式的基础,并结合示例进行实践( UserRepository、 NotificationSender、支付策略)。
    可用
  • Lambda 表达式简介

    JAVA 25 SELF
    等级 21,课时 0
    本讲将解析 Java 中的 Lambda 表达式:它是什么、为何需要、语法与简写形式、它与函数式接口( @FunctionalInterface)的关系、与匿名类有何不同,以及变量捕获( final / effectively final)如何工作。通过 Runnable、 Consumer、 Comparator、 Function 和 Stream API 的实战示例,看看如何写得更简洁、更易读。最后以“常见错误”收尾,并给出如何避免它们的建议。
    可用
  • Method References (::): 方法引用

    JAVA 25 SELF
    等级 21,课时 1
    Java 方法引用的简明指南:在何处以及如何用 method reference 替代 lambda。我们将拆解 4 种形式: Class::method(静态方法与实例方法)、 object::method、 Class::new。理解与函数式接口的签名匹配,对比 lambda 表达式,看看配合 forEach、 sort、 map 的实用示例,并讨论常见错误(签名不匹配、方法重载等)。
    可用
  • 接口中的 default 方法

    JAVA 25 SELF
    等级 21,课时 2
    在本讲中,我们将解析为什么在 Java 8 中为接口引入了 default 方法、它们如何让 API 在不破坏旧代码的前提下演进、它们的语法(在返回类型之前添加关键字 default)以及在实现类中的行为。我们会结合标准库中的示例( List: forEach、 replaceAll、 sort)来看实际用法。还将讨论限制:不能覆盖 Object 的方法( equals/ hashCode/ toString),以及在多重实现时的冲突解析规则和常见错误。
    可用
  • 接口中的 static 方法

    JAVA 25 SELF
    等级 21,课时 3
    解析 Java 中接口为何以及如何引入 static 方法:声明语法、与 default 方法的区别、关键限制(不继承、不重写、只能通过接口名调用、只能访问 static 成员,Java 9+ 支持 private static)。实践中看看 Movable.resetPosition()、辅助类 Logger、集合工厂 List.of()/ Set.of()/ Map.of() 以及工具 Comparator.reverseOrder()。最后——常见错误及如何避免。
    可用
  • 1
  • ...
  • 9
  • 10
  • 11
  • 12
  • 13
  • ...
  • 30
Learn
  • 注册
  • Java 课程
  • 任务帮助
  • 定价
  • Java 语法
社区
  • 用户
  • 文章
  • 论坛
  • 聊天
  • 成功故事
  • 动态
  • 联盟计划
Company
  • 关于我们
  • 联系方式
  • 评价
  • 媒体中心
  • CodeGym for EDU
  • 常见问题
  • 支持
CodeGymCodeGym 是一个从零开始学习 Java 编程的在线课程。该课程是初学者掌握 Java 的完美方式。它包含 1200+ 个带即时验证的任务,以及必要的 Java 基础理论。为了帮助你在学习中取得成功,我们实现了一系列激励功能:测验、编码项目、关于高效学习的内容,以及 Java 开发者职业相关内容。
关注我们
界面语言
English Deutsch Español हिन्दी Français Português Polski বাংলা
简体中文
मराठी தமிழ் Italiano Bahasa Indonesia 繁體中文 Nederlands 日本語 한국어 Bulgarian Danish Hungarian Basa Jawa Malay Norwegian Romanian Swedish Telugu Thai Українська Filipino Turkish Azərbaycan Русский Vietnamese
“程序员是培养出来的,不是天生的” © 2026 CodeGym
MastercardVisa
“程序员是培养出来的,不是天生的” © 2026 CodeGym