Using Constructors

DEX455 - Apex 类、对象与接口完全指南

📄 第 129 页 🎬 视频课程

课程章节介绍

好,咱们今天来聊聊Apex里的构造函数。你可能会觉得这名字有点生硬,其实把它想象成一张“出生证明”就行。每当我们根据类的蓝图,用`new`这个关键字去创建一个新对象时,系统会立刻自动调用的一段代码,就是构造函数。它的任务呢,就是帮我们把这个新生的对象初始化好,比如给它赋予一些初始值。 那是不是每写一个类,都要自己编一个构造函数?当然不是。如果你不在类里写任何构造函数,系统会免费送你一个——我们叫它默认的无参构造函数。这个默认构造函数的可见性,和类本身的可见性是一样的,比如类是`public`,那这个默认构造函数也就是`public`的。所以你平时写`Account acc = new Account();`,就是靠的它。 但要注意一点:构造函数的写法和普通方法很像,可有两个关键区别。第一,它绝对没有返回类型,连`void`都不写。第二,构造函数不会被继承,子类不能自动获得父类的构造函数。 再讲个容易踩坑的地方。假设你给自己的类写了一个带参数的构造函数,比如`public MyClass(String name)`,那这时系统就不会再送你那个免费的无参构造函数了。如果你还希望别人能用`new MyClass()`这种方式来创建对象,那就必须自己再补写一个无参的构造函数。简单说就是:只要你自己动了手,不管写了哪一种,默认的无参构造函数就消失了,得自己包办。 另外,构造函数是可以重载的,也就是在一个类里写好几个构造函数,只要它们的参数列表不同——参数个数、类型或者顺序不一样就行。这样就能提供多种初始化对象的方式。 最后,还有个很有用的技巧,叫构造函数链接。一个构造函数可以通过`this(参数)`这样的语法,去调用本类里另一个参数匹配的构造函数。这样做的好处是避免重复代码,把公共的初始化逻辑集中起来,让代码更干净。 总之,构造函数就是为对象诞生那一刻准备的代码,它让对象一出现就有了该有的样子。记住这几个要点,用起来会很顺手。咱们下一部分再见。

关键词

Apex Salesforce Developer Guide