课程章节介绍
同学们,今天我们来看一下Apex里一个非常基础、但又很容易让人迷糊的概念——System命名空间。
简单来说,在Apex中,System就是一个默认的命名空间。平时你调用像debug、assert这些方法的时候,即使不写“System.”开头,代码也能正常运行。比如你直接写 `debug('Hello');` ,Apex其实会自动帮你补上 `System.debug('Hello');`。
但是,这里有一个容易踩坑的地方:如果你的组织里自己建了一个Apex类,名称偏偏和系统内置的类一模一样,那Apex运行的时候,就会优先使用你自己定义的那个类,而不是系统的。为了明确告诉平台“我要用的是标准的系统类”,你就必须加上 `System.` 这个前缀。
另外,还要和大家理清一个概念:System既是一个命名空间,也是一个真实的类。它里面有很多静态方法。当你调用 `System.debug()` 的时候,其实就是在使用System类里的debug方法。而有趣的是,你还可以写成 `System.System.debug()` ,这俩写法完全等价。因为外层的System是命名空间指向,内层的System是类名,最终调用的都是同一个方法。
好,这段内容的核心就这些,我们下节课继续。
关键词
Apex
Salesforce
Developer Guide