促销
学习
课程
任务
调查 & 测验
游戏
帮助
日程
社区
Users
论坛
聊天
文章
成功故事
动态
评价
订阅
浅色主题
课时
评论
关于我们
开始
开始学习
立即开始学习
我的进度
课程
任务地图
课程
Java 25
所有任务
所有级别
抽象与层次结构的实现
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
Please enable JavaScript to continue using this application.