创建 Apex 类(01 Create an Apex Class)
本单元介绍 Apex 这一 Salesforce 的编程语言,并通过开发者控制台(Developer Console)创建你的第一个 Apex 类。
学习目标 — 完成本单元后,你将能够:
- 在开发者控制台中创建 Apex 类
- 理解 Apex 类的基本结构
简介(Introduction)
Apex 是一种强类型、面向对象的编程语言,让开发者能够在 Salesforce 平台上执行流程和事务控制语句。如果你熟悉 Java 或 .NET 开发,你会发现用 Apex 编程相当直接;如果你从未写过代码,你也可能会惊讶于用 Apex 访问和操作数据竟如此简单。
Apex 是 Salesforce 的原生编程语言——当你需要超出声明式工具能力范围的自定义业务逻辑时,就要用到它。Apex 能做的事包括:
- 自动化复杂的业务流程
- 以编程方式操作数据
- 与外部系统集成
- 创建自定义 API
在这个 Quick Start 中,你将使用开发者控制台(Developer Console)——一个内置于每个 Salesforce 组织中的 IDE,无需 VS Code、无需 CLI、无需复杂设置。你将创建一个真实的 Apex 类来更新旧的 Account(客户)记录,执行它,并验证结果。这是你迈入 Salesforce 程序化开发的第一步。
创建 Apex 类(Create an Apex Class)
开发者控制台是你在 Salesforce 中编写和测试代码的地方。第一步是创建 Apex 类:
- 登录 Trailhead,点击本页底部的 Launch 启动你的 Trailhead Playground。
- 点击右上角的设置齿轮(setup gear),选择 Developer Console(开发者控制台)。
- 从 File(文件) 菜单选择 New | Apex Class(新建 | Apex 类)。
- 类名输入
OlderAccountsUtility,点击 OK。
此时编辑器里的代码是一个空的类外壳,Apex 类的"解剖结构"如下:
public class OlderAccountsUtility {
// 方法写在这里
}
关键元素:
- public / private——访问修饰符(谁能使用这个类)
- class——定义一个新类的关键字
- OlderAccountsUtility——你的类名(使用 PascalCase 大驼峰命名)
- { }——类体,包含所有方法
类是承载你代码的容器。现在它还只是个空容器,接下来我们要向其中添加一个真正干活的方法。
向类中添加方法(02 Add a Method to the Class)
本单元向类中添加一个方法——也就是真正执行更新 Account 记录工作的功能代码。
创建方法(Create a Method)
一个类通常包含一个或多个做有用事情的方法(method)。在这一步,你将创建 updateOlderAccounts 方法,它获取按创建日期排序的前五条 Account 记录,然后把描述字段更新为 "Heritage Account"(即比其他客户更"古老"的客户)。
在 OlderAccountsUtility 类的类体(两个花括号之间的内容)中,复制粘贴以下方法:
public static void updateOlderAccounts() {
// 获取 5 条最旧的客户记录
Account[] oldAccounts = [SELECT Id, Description FROM Account ORDER BY CreatedDate ASC LIMIT 5];
// 遍历它们并更新 Description 字段
for (Account acct : oldAccounts) {
acct.Description = 'Heritage Account';
}
// 保存你做的修改
update oldAccounts;
}
点击 File | Save 保存。
这段代码先按创建日期对 Account 排序,然后抓取五条最旧的记录。它使用 SOQL 查询语言(第 3 行)来做查询和排序,然后遍历每条 Account 记录更新 Description 字段,最后用 Apex 的数据操作语言(DML) 更新这些记录。如果你熟悉 Java 和 C#,会发现语法上有不少相似之处。
方法解剖:
- public——可在类外访问
- static——无需创建实例即可调用
- void——不返回值
- updateOlderAccounts——方法名(camelCase 小驼峰命名)
- ( )——参数列表(为空表示无输入)
- { }——方法体(真正的逻辑)
这个"查询 → 遍历 → 修改 → 更新"的简单模式,正是绝大多数 Apex 自动化代码的基础。
调用并测试代码(03 Invoke and Test the Code)
本单元使用"执行匿名(Execute Anonymous)"运行代码,并确认它能正确执行。
运行代码(Run the Code)
匿名块(anonymous block) 是不会被存储的 Apex 代码,但可以直接从开发者控制台按需编译和执行——这是测试你的 Apex 类或运行示例代码的好办法。
- 在开发者控制台中,选择 Debug | Open Execute Anonymous Window(调试 | 打开执行匿名窗口)。
- 在 Enter Apex Code 窗口中输入:
OlderAccountsUtility.updateOlderAccounts(); - 点击右下角的 Execute(执行)。
执行匿名让你无需构建完整应用就能立即运行 Apex 代码,非常适合测试和一次性操作。执行后,调试日志(Debug Log) 会显示:
- 执行了哪些 SOQL 查询
- 执行了哪些 DML 操作
- 是否有任何错误或异常
- 执行时间与消耗的调控限制(governor limits)
如果日志显示成功、没有异常,就说明你的代码正确运行了。不过真正的证明在数据里——下一步,让我们去检查实际的 Account 记录。
验证更新后的客户(04 Verify the Updated Accounts)
本单元验证你的代码确实更新了 Account 记录,并总结所学内容。
检查更新后的字段(Check the Updated Field)
现在来确认你执行的代码做出了你想要的修改。找一个较旧的 Account,检查 Description 字段是否被更新了。
- 在 Trailhead Playground 中,点击 App Launcher(应用启动器),在"所有应用"下选择 Sales。
- 点击 Accounts 选项卡。
- 点击 Recently Viewed(最近查看) 显示视图列表,然后选择 All Accounts(所有客户)。
- 点击 齿轮图标,选择 Select Fields to Display(选择要显示的字段)。把 Last Modified Date(最后修改日期) 移到"可见字段"列,点击 Save。
- 点击五条最近修改的 Account 记录之一(用 Last Modified Date 来定位)。
- 点击 Details(详细信息)。
- 查找 Description 字段,其值应为:Heritage Account。
如果你看到了更新后的描述,就说明:SOQL 查询成功检索到了记录 → for 循环处理了每条 Account → DML 更新把修改持久化了——你的 Apex 代码端到端跑通了!Description 字段就是你的代码运行过的证明。
如果没生效,可以排查:检查调试日志中的错误;确认类已保存且没有语法错误;确认你执行的方法名拼写正确。
总结(Summary)
恭喜!你创建了第一个 Apex 类——它包含检索 Account 记录的代码,以及遍历 Account 记录列表并更新 Description 字段的逻辑。正如你所见,用 Apex 操作记录和数据非常容易。
你刚刚完成了第一个完整的 Apex 开发循环:
- 创建了 Apex 类(代码的容器)
- 添加了方法(功能性逻辑)
- 执行了代码(通过 Execute Anonymous)
- 验证了结果(检查 Account 的 Description 字段)
你学到的东西包括:
- Apex 类结构:
public class Name { } - SOQL 查询:
[SELECT ... FROM Object] - 用 for 循环处理集合
- 用 DML 操作(update)持久化修改
- 用 Execute Anonymous 做测试
- 用 Debug Log 做排错
这与生产环境 Apex 使用的是同一种模式:查询数据 → 处理数据 → 更新记录。接下来,你可以进一步探索 Apex 触发器(trigger)、测试类(test class),以及更复杂的业务逻辑。欢迎来到 Salesforce 程序化开发的世界!










