Android学Dart学习笔记第二十四节 类-可调用对象Class()()

序言

Dart 类的实例能像函数一样被调用,需要实现 call () 方法。

call () 方法能让任何定义了该方法的类的实例模仿函数的行为。此方法支持与普通函数相同的功能,例如参数和返回类型。

call函数

看看下面的代码,你觉得这句话是什么意思

复制代码
  var a = A();
  a();

不卖关子了,dart中提供了对于call函数的支持,使得对象实例无需参数名即刻调用。

相当于call是实例对象的默认函数。

call函数的定义和普通函数完全一致,但是函数名必须是call

复制代码
class A{
  call() {
    print('call');
  }
}

如何调用call函数

复制代码
void main(List<String> arguments) {
  A()();
  var a = A();
  a();
}

A()() :当你了解到call函数的存在后这句话也就不难理解了,他等同于下面的

var a = A();

a();

相关推荐
程序员老刘2 小时前
跑分第一的编程大模型,我为啥不用?
flutter·ai编程·vibecoding
方白羽11 小时前
Android Gradle 缓存与文件目录深度解析
android·gradle·android studio
曲幽14 小时前
Termux里的二进制和脚本,到底怎么运行才不踩坑?Termux-service 保活妙招!
android·termux·nohup·services·wake-lock
plainGeekDev15 小时前
单例模式 → object 声明
android·java·kotlin
程序员陆业聪16 小时前
读者点单·03|Compose 与传统 View 混用的 12 个真实坑
android
程序员陆业聪16 小时前
读者点单·02|Android 启动优化实战:Trace 抓取→Application 编排→冷启动全流程拆解
android
Coffeeee16 小时前
帮你快速理解AI Agent之我想招个Android实习生
android·人工智能·agent
恋猫de小郭17 小时前
苹果 AirPods 协议,Android 也可以使用完整版 AirPods 能力
android·前端·flutter
黄林晴17 小时前
告别无效重建:Gradle 9.6.0 解决 CI 构建缓存失效痛点告别无效重建:Gradle 9.6.0 解决 CI 建筑缓存失效痛点
android·gradle
张风捷特烈18 小时前
Flutter 类库大揭秘#01 | path_provider架构与设计
android·flutter