Keywords — final, instanceof, super, this

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

📄 第 136 页 🎬 视频课程

课程章节介绍

同学们,我们来聊聊Apex里几个特别常用的关键字。它们就像一些小工具,用对了能让你的代码更安全、更清晰。 首先是 ,final,。你可以把它理解成“最终版,不能改”。一个变量如果被声明为 final,那就只能赋值一次,之后再改就会报错。如果把 static 和 final 组合在一起,就能定义一个常量,比如公司的固定税率,永远不变。另外需要注意,在 Apex 中,方法和类默认就是 final 的,也就是默认不能被子类重写。如果你想允许别人覆盖,就得用 ,virtual, 关键字,相当于给方法或类打开一扇“允许重写”的门。 接着是 ,instanceof,。它是个类型检查器,在程序运行时帮你判断某个对象究竟属于哪个类。比如你拿到一个笼统的“动物”对象,用 instanceof 一问,它就能告诉你到底是“猫”还是“狗”,避免类型转换出错。 ,super, 关键字是用来联系父类的。它在子类里可以调用父类的构造方法,帮父类完成初始化;如果子类重写了父类的某个方法,你又想用父类原来的实现,也可以通过 super 来调用,而不是从头再写一遍。 ,this, 关键字就指“我自己”。当方法的参数名和类的成员变量重名时,用 this 就能明确区分,告诉编译器我要用的是实例自己的那个变量。另外,在一个构造方法里,还可以用 this 去调用本类的另一个构造方法,省得代码重复。 ,transient, 比较特殊,用在变量上,表示这个变量的值“不可持久化”。在 Visualforce 页面里,视图状态会保存很多数据,但 transient 变量不会被保存或传递,就像个临时便签,翻页后就忘了。处理一些临时计算结果时加上它,能有效减少数据量,提升性能。 最后是 ,with sharing, 和 ,without sharing,。这俩关键字控制的是代码是否执行共享规则,也就是是否尊重当前用户的记录权限。with sharing 表示遵守规则,用户只能看到自己有权限的数据,像一个普通员工走流程。without sharing 则是绕过权限,以系统模式运行,可以看到全量的数据。用的时候一定要弄清是否真的需要绕过安全限制,保护好数据安全。 好了,这几个关键字你记住了吗?把它们掌握好,你写的 Apex 代码会更加健壮、安全,也更易懂。我们下次再见!

关键词

Apex Salesforce Developer Guide