首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Flutter/Dart:关键字this是什么时候使用的?

在Flutter/Dart中,关键字this用于引用当前对象或当前类的成员。它可以在类的方法中使用,表示当前对象的引用,用于访问当前对象的属性和方法。

具体来说,关键字this可以用于以下几种情况:

  1. 访问当前对象的属性:当类的成员变量与方法参数名相同时,可以使用this关键字来明确指定访问的是成员变量而不是方法参数。例如:
代码语言:txt
复制
class Person {
  String name;

  void setName(String name) {
    this.name = name; // 使用this关键字访问成员变量
  }
}
  1. 在构造函数中访问当前对象的其他构造函数:当一个类有多个构造函数时,可以使用this关键字来调用其他构造函数。例如:
代码语言:txt
复制
class Person {
  String name;
  int age;

  Person(this.name); // 姓名构造函数

  Person.withAge(this.name, this.age); // 姓名和年龄构造函数
}
  1. 在类的方法中访问当前类的静态成员:当类的静态成员与类的实例成员同名时,可以使用this关键字来访问当前类的静态成员。例如:
代码语言:txt
复制
class Person {
  static String category = 'Human';

  void printCategory() {
    print(this.category); // 使用this关键字访问静态成员
  }
}

总结:关键字this在Flutter/Dart中用于引用当前对象或当前类的成员,可以用于访问当前对象的属性和方法,调用其他构造函数,以及访问当前类的静态成员。

推荐的腾讯云相关产品:腾讯云函数(云原生 Serverless 产品),腾讯云数据库(数据库产品),腾讯云服务器(云服务器产品)。

更多关于Flutter/Dart的信息,请参考腾讯云官方文档:Flutter/Dart开发指南

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Flutter为什么使用Dart

老孟导读:关于Flutter为什么使用Dart?这个话题,就像PHP是世界上最好语言一样,争论从来没有停止过,有很多说法,比如: Google是为了推广DartDart是亲儿子。...Dart允许Flutter避免使用像JSX或XML这样声明式布局语言,也不需要单独可视化界面构建器,因为Dart声明式程序化布局易于阅读和可视化。...在 Flutter 里,界面布局直接通过 Dart 编码来定义,不需要使用 XML 或模板语言,也不需要使用可视化设计器之类工具。 我预感是,听到这个消息后,你们中一些人甚至会畏缩一点。...通过使用DartFlutter,他们能够将生产力提高三倍。鉴于他们之前所做事情,这不足为奇。...如果您没有使用Dart,希望本文为您提供有关Dart新功能或不同之处有价值信息,并且您可以尝试使用它和Flutter

1.4K20

Flutter之旅:Dart基础语法

一般用于反射时类名处理,但是Flutter中是禁止用反射,所以没有dart:mirrors包。这个了解一下,看到认识即可。...2.Dart变量与常量 Dart 作为一名新时代后起之秀,var自然不能少。Dart语言中对象类型是可以自动推导。也就是说,上面的代码在声明变量类型时,都可以用一个var关键字解决。...2.1:var关键字使用 var age = 18; var isMan = true; var name = '张风捷特烈'; var languages = ['Java', 'Dart', 'Python...dynamic(动态),dynamic也是一个关键字 dynamic d = 20; 2.3:常量定义 如果一个变量你以后不打算修改,可以使用 final 或者 const进行修饰,当你试图修改它值...a++; print('a=$a,c=$c'); //a=20,c=2 4.Dart函数 Dart中,一个函数基本组成如下: 4.1:基本使用 两个数相加 double add(double

1.4K20

Flutter--Dart异步

Event Type 单线程模型 一旦某个Dart函数开始执行,它将执行到这个函数结束,也就是Dart函数不会被其他Dart代码打断。...当Event Looper正在处理Microtask Queue中Event时候,Event Queue中Event就停止了处理了,此时App不能绘制任何图形,不能处理任何鼠标点击,不能处理文件IO...异步任务调度 当有代码可以在后续任务执行时候,有两种方式,通过dart:async这个Lib中API即可: 使用Future类,可以将任务加入到Event Queue队尾 使用scheduleMicrotask...(const Duration(seconds: 1), () => futureTask); 当需要做动画时候,不要使用Future,而需要使用animateFrame PS: Future中then...构造函数时候,就会和第二条一样,创建Task丢到microtask Queue中执行then传入函数 Future.sync构造函数执行了它传入函数之后,也会立即创建Task丢到microtask

1.7K20

FlutterDart安装配置

安装完成之后,打开终端控制台,输入dart --version 查看是否安装完成 打开VSCode开发工具,安装Dart插件后,创建一个.dart后缀文件,输入代码后右键运行,查看结果。..._2.10.5-stable\flutter\bin 后点击确定 四, 配置Flutter国内镜像 搭建环境过程中要下载很多资源文件,当一些文件下载不了时候,会报各种错,在国内访问Flutter时候有可能会受到限制...进入Flutter中文网https://flutter-io.cn/,下拉到最下面,找到"使用镜像",把下面两句配置到新建环境变量中。...第一次运行时候,可能会提示以下错误,这时候按照教程执行flutter doctor --android-licenses 命令即可 执行完以上命令后,可能会报以下错误。...(如果已打开软件可跳过这一步,直接看下方【解决报错】) 这时候打开已安装Android软件,创建flutter项目,第一次打开页面可能不一样,找到New Project 选择Flutter,点击下一步即可

2.1K41

Flutter基础之Dart语言入门:Future异步使用

Flutter开发离不开异步处理,dio是Flutter常用第三方网络请求插件,这篇就带大家来了解下Flutter异步和dio使用Dart类库有非常多返回Future 或者 Stream...可以使用FuturewhenComplete回调 Future.delayed(new Duration(seconds: 2),(){ //return "hi world!"...(17666): hello 1 I/flutter (17666): Error I/flutter (17666): hello 3 04 — 网络请求 Future应用 异步最应用在网络请求...,Flutter同样需要异步请求获取数据,dio是Flutter常用网络请求插件,地址https://pub.dev/packages/dio。...同样项目中引入改插件,直接在pubspec.yaml文件中添加依赖 在使用地方引入: 下面是项目中封装请求通用类BaseRepository /// 网络请求 class BaseRepository

1.4K20

FlutterDartMixin示例详解

当然,如果你想让mixin定义更加清晰,可以使用mixin关键字开头来定义。具体请参考这里 原文截图体会一下风格。 ? 正文 在经典面向对象编程语言里一定会有常规类,抽象类和接口。...当然,Dart也有它自己接口,不过那是另外文章要说。有的时候阴影里潜伏者另外野兽:Mixin!这是做什么,如何使用?我们来一起发现。...这样使用mixin问题就大了。 当你开始研究一个鸟类动作时候,你会发现鸟儿在逐出食物之后就会发出愉悦鸟鸣。从当前mixin里面调用chirp方法是不可能。...ps:下面在看下Flutter/Dart mixin类理解 mixin是将一些有共同特性类抽出来共用,把具体特性封装成一个mixin供其他类使用。本质上是为了减少代码冗余。...到此这篇关于FlutterDartMixin示例详解文章就介绍到这了,更多相关Flutter DartMixin内容请搜索ZaLou.Cn以前文章或继续浏览下面的相关文章希望大家以后多多支持

1.7K20

Flutter Dart 静态变量值为nullbug

变量赋值什么都没有问题,可是当我在另一个页面想使用这个static变量时候,发现它神奇变成了null。...这个坑爹问题让我改了很多代码,然而并没有什么卵用,最后不知道是什么促使我google了一下这个关键字flutter static object value lost”,还真是dart坑。...可以看一下这个issuse:https://github.com/dart-lang/sdk/issues/32601 原因 dart导入文件时候可以用相对路径,也中以用package路径,像下面这样...' as staticB; 坑爹地方就在这里,当你用上面两种方式导入同一个dart文件时候,其实你得到使用同一份源代码两个不同library。...,再修改这个testStaticInt变量值,查看输出结果: import 'package:flutter/material.dart'; import 'static_value.dart' as

2.7K20

什么时候需要使用volatile关键字

想必大家平时都见过volatile关键字,可是大家知道什么时候需要使用volatile关键字吗?...(true)死循环使得程序执行更快,然而这种优化有时候会变成过度优化,编译器有时候可能没有意识到程序会改变a值,却做了这种优化导致程序没有产生预期行为。...这里为了产生预期行为,需要阻止编译器做这种优化,可以使用volatile关键字修饰。...volatile int a = 100; volatile关键字和const关键字相对应,const关键字告诉编译器其修饰变量是只读,编译器根据只读属性做一些操作,而volatile关键字告诉编译器其修饰变量是易变...单例模式double check方法中instance变量为什么需要使用volatile修饰也是这个原理。

31840

一篇文章学习Dart,为使用Flutter打基础

Dart了 认识Dart Dart这门语言比较奇葩一点,他拥有很多java特性,但是写法却和js很像,学习这门语言根本目的也是不得已而为之,毕竟学习flutter的话,dart不学习是不行,...这篇文章写比较简单,包括demo写都是一些超级简单,目的很明确,了解dart这门语言就可以,具体说我们使用其实要结合flutter进行使用,同时我个人认为是这篇文章的人都是有js或者java或者两者都有基础的人阅读...中没有interface关键字,我们一般使用类进行定义接口,常规写法是使用抽象类进行接口定义,通过implates进行实现,接口就是约定一些类规范和方法,这里接口可能和对java有深刻认知的人有点出入...,java中定义接口是使用interface关键字进行定义一个类,但是dart中是使用抽象类进行定义接口,当然你也可以使用普通类进行定义接口 abstract class Db { String...,以及对不特定类型支持(数据校验),通过T【当然你也可以使用别的字母进行,只是我们默认使用是T】关键字进行泛型定义 //定义一个泛型方法 T getData(T value) {

71050

Flutter 中不得不会 mixin

老孟导读:mixin 是 Dart 中非常重要概念,对于未接触过此概念Coder来说尤其重要,最近看源码时候,由于对 mixin 不熟悉导致理解出现偏差,走了很多弯路,所以这篇文章介绍一下 mixin...Dart 及 Engine 版本: Engine • revision ae90085a84 Tools • Dart 2.10.4 请注意版本,不同版本可能存在差异。...什么时候需要使用 Mixins 有如下场景: 定义一个基类人(Person),它有吃(eat)方法。...很明显,需要 mixin 类无法定义构造函数。 所以一般会将需要 mixin 使用 mixin 关键字: ?...给 Mixins 添加限定条件使用 on 关键字。 混合使用 with 关键字,with 后面可以是 class、abstract class 和 mixin 类型。

54930

Flutter Hello World

该目录会有默认一个入口文件 ,main.dart 通过这个文件后缀就可以知道 flutter 主要是使用 dart 语言来进行编写。...在还没深入理解Dart语法时候我们尽量不要使用较为高级用法。还原如下 void main() { runApp(new MyApp()); } 这样看起来是不是就比较熟悉了?...这里还有调用了一个 runApp 函数,这是什么东西?...由于 StatelessWidget 和 StatefulWidget 都是 Widget 抽象类。所以我们在使用时候就需要重写 Widget 类来实现具体代码和逻辑。...(@override 装饰关键字,如果对于后端语言不熟悉少侠们那就需要动手查找资料啦,不然说起来就太长了) 参照右边代码的话这时我们就可以正式使用 MaterialApp 了。

1.2K10

flutter安装与配置

这样可以使您公司和团队节省大量时间和精力。 那么,这究竟是什么意思?假设我们有一位开发人员创建了一个惊人应用程序,并且人们喜欢它。但是,该应用程序仅在 Android上受支持。...注意:您只能在 macOS 系统上为 iOS 开发 Flutter 应用程序。如果您使用是 Windows,则只能为 Android 构建。...IDE,请查看文档以获取有关运行和调试应用程序、使用代码片段、关键字快捷方式等提示: Android Studio 和 IntelliJ Android Studio 和 IntelliJ中文网 vs-code...如果flutter doctor没有报告任何错误,则您已经拥有开始构建应用程序所需一切。 是时候进行快速试驾了。...这个页面向你展示了如何创建一个新 Flutter 项目并运行它: 开发初体验官方文档 开发初体验中文网 彩蛋:VS Code 插件可以像 Flutter Pro 一样进行开发 如果您使用 VSCode

1.7K20

FlutterDart 入门

Flutter简介 Flutter是google推出,一个使用Dart语言开发跨平台移动UI框架,通过自建绘制引擎,能高性能、高保真地进行Android和IOS开发。...Flutter是什么 Flutter是谷歌移动UI框架,可以快速在iOS和Android上构建高质量原生用户界面。 Flutter可以与现有的代码一起工作。...在全世界,Flutter正在被越来越多开发者和组织使用,并且Flutter是完全免费、开源。...Flutter特性 快速开发 毫秒级热重载,修改后,您应用界面会立即更新。使用丰富、完全可定制widget在几分钟内构建原生界面。...Dart支持顶层变量,也支持类变量或对象变量 Dart没有public protected private等关键字,如果某个变量以下划线(_)开头,代表这个变量在库中是私有的 Dart一些语法特点 如果熟悉

1.3K20

关于dartlate关键字,你了解多少?

作者:坚果 华为云享专家,InfoQ签约作者,阿里云专家博主,51CTO博客首席体验官,开源项目GVA成员之一,专注于大前端技术分享,包括Flutter,小程序,安卓,VUE,JavaScript。...Dart 2.12 在变量中添加了late修饰符。这可以用于以下两种情况。 将您项目迁移到零安全。 延时初始化一个变量。 1....没有 late关键字 //START String result = _getResult(); //END 在上面的代码中,result从未使用过,但_getResult()依旧会被执行。...使用 late关键字 //START late String result = _getResult(); //END 在上面的代码中_getResult()没有被执行,因为变量result从未使用过发现了没...好,关于late关键字,我们就了解到这儿,这也是对自己知识体系一个梳理。

55520

Flutter-Dart使用正则表达式格式化时间

在 VsCode 中使用 DartFlutter 插件,必须打开项目源代码根目录(main.dart 所在目录)才有代码提示和相关检查与校验,单独 .dart 文件 或者打开 多级目录 都是没有的...,呜呜呜呜呜…搞得我一直以为是电脑环境问题,重装了好几次 VsCode 插件与 Flutter SDK。...另外在 Flutter 开发时候,发现 Dart 对于时间处理比较麻烦,又不想使用外部插件,所以自己动手,写了一个简单时间处理方法。 话不多说,直接上代码,还请各位大佬指正。..."$value" : "00$value".substring("$value".length)); } }); return format; } 另外博主有写一个人性化时间 Dart...方法,可以参考文章Dart 常用方法。

10810

Android-Kotlin VS Flutter-Dart - 自定义控制摇杆

Flutter是和Android一个等级,它们都是运行在设备上框架 Kotlin是和Dart一个等级,它们都是新时代编程语言 那谁更香? 别问,问就都香。...如果你还在Kotlin和Flutter之间犹豫不定 那我就为你指条路: 去研究[数据结构和算法分析] 研究到想吐时候再来选择,如果还是在Kotlin和Flutter犹豫不定 那我就为你指条路:...去研究[数据结构和算法分析] 研究到想吐时候再来选择,如果还是在Kotlin和Flutter犹豫不定 那我就为你指条路: 去研究[数据结构和算法分析] 研究到想吐时候再来选择,如果还是在Kotlin...这样最终你就会成为一个[数据结构和算法分析]大师 而这样大师拥有同时掌握Kotlin和Flutter耐力和技术支持 通过本篇想说明: 不是什么技术好不好,而是你能干什么。...---- 尾声 Kotlin和Dart语法都非常简洁。Android本身View体系比较臃肿,毕竟放在xml里,沟通起来需要费些劲 Flutter组件出来起来非常灵活,复用非常棒。

1.4K20
领券