flutter 中 的 关键字

1.在 Flutter 中,如何实现成员的私有访问?

用下划线 _ 前缀来标记成员为私有,只能在类内部访问。例如 _privateVariable

2.finalconst 有什么区别?

final 修饰的成员只能被赋值一次;const 修饰的成员是编译时常量,在编译时就必须确定其值,并且其值不能改变。

const 变量必须在声明时初始化,而 final 可以在构造函数中初始化。

3.late 关键字的作用是什么?

late 用于延迟初始化的变量,必须是 final 或非空的。比如 late final int lateField,可以在构造函数中再进行初始化。

4.vardynamic 有什么不同?

var 声明的变量,类型由编译器自动推断;

dynamic 变量可以是任何类型,类型检查发生在运行时,变量的类型可以在运行期间更改。

5.factory 构造函数有什么特点?

factory 构造函数用于返回一个实例,可能不是新创建的对象。比如可以用于创建单例模式,或者根据不同条件返回不同类型的实例。

6.covariant 关键字在 Flutter 中有哪些用途?

covariant 用于方法参数时,表示子类中可以使用比父类更具体的类型;用于 mixin 声明时,指定 mixin 可以应用于哪些类型的类。

7.在 TextField 中,keyboardTypeobscureTextonChanged 分别是什么作用?

keyboardType:用于指定键盘类型,比如数字、字母、电话号码、邮箱、日期等多种方式,以提高输入效率。

obscureText:表示是否需要隐藏输入内容,若为 true,输入内容会使用圆点显示,常用于密码输入场景。

onChanged:是输入值改变事件回调,通常用于实现双向绑定,当输入框内容发生变化时会触发该回调函数。

8.Text 组件中 textAlignsoftWrapoverflow 这几个属性的作用是什么?

textAlign:用于设置文本的对齐方式,可选值有 leftstartrightendcenterjustify

softWrap:表示文本是否自动换行。

overflow:用于处理文本超出显示范围的情况,clip 表示直接截取,fade 表示渐隐,ellipsis 表示显示省略号。

9.Future ? await?

Future 表示一个异步操作的结果,它可能在未来某个时间点完成。比如,当你进行网络请求、读取文件等耗时操作时,这些操作不会立即返回结果,而是返回一个 Future 对象。

await 关键字只能在 async 函数内部使用,它的作用是暂停当前函数的执行,直到 Future 完成(resolved),然后返回 Future 的结果。

复制代码
import 'package:http/http.dart' as http;

Future<String> fetchData() async {
//await会暂停 fetchData 函数的执行,直到网络请求完成。一旦请求完成,await 会返回 http.get 操作的结果(也就是 Response 对象),并继续执行函数后续代码。
  var response = await http.get(Uri.parse('https://example.com/api/data'));
  if (response.statusCode == 200) {
    return response.body;
  } else {
    throw Exception('Failed to load data');
  }
}

import 'dart:io';

Future<String> readFile() async {
  File file = File('example.txt');
//await 等待文件读取操作完成并获取读取到的字符串内容
  String content = await file.readAsString();
  return content;
}

多个异步任务相互依赖的情况,可以使用 Futureawait 来顺序执行这些异步操作,保证逻辑的正确性。比如先进行一个网络请求获取用户 ID,然后根据这个 ID 再进行另一个网络请求获取用户详细信息

10.sealed

用于类声明,表明该类是密封类。密封类不能被继承,并且其所有的子类必须在与密封类相同的库中声明。这在实现有限状态机或者一些需要严格控制继承层次的场景中非常有用。

复制代码
sealed class Shape {}

class Circle extends Shape {}

class Square extends Shape {}

11.with

用于混入(mixin),允许一个类复用其他类的功能。Mixin 是一种在多个类层次结构中复用代码的方式,它避免了多重继承的复杂性。

复制代码
mixin Flyable {
  void fly() {
    print('I can fly');
  }
}

class Bird with Flyable {}
// 使用
Bird bird = Bird();
bird.fly();

12.static

用于类成员(属性或方法),表示该成员属于类本身,而不是类的实例。静态成员可以通过类名直接访问,无需创建类的实例。在 Flutter 中,常用于工具类或者全局共享的常量等场景。

复制代码
class MathUtils {
  static int add(int a, int b) {
    return a + b;
  }
}
// 使用
int result = MathUtils.add(2, 3);
相关推荐
A懿轩A8 小时前
【2025版 OpenHarmony】GitCode 口袋工具 v1.0.1 更新发布:Flutter + HarmonyOS 封装导航栏进行跳转
flutter·harmonyos·openharmony·gitcode·开源鸿蒙
苦逼的搬砖工12 小时前
BLE 通信设计与架构落地
android·flutter
程序员老刘·12 小时前
跨平台开发地图:客户端技术选型指南 | 2025年11月 |(Valdi 加入战场)
flutter·跨平台开发·客户端开发
A懿轩A16 小时前
【2025最新】Flutter 编译开发 鸿蒙HarmonyOS 6 项目教程(Windows)
windows·flutter·华为·openharmony·开源鸿蒙
忆江南20 小时前
🔥 一句话解释 SNI
flutter
WaterFly20 小时前
Flutter入门概览4-UI入门篇
flutter
未来猫咪花20 小时前
告别卡顿和耗电!view_model 的 Pause 机制如何拯救你的 Flutter 应用
flutter
metaRTC1 天前
webRTC IPC客户端Flutter版编程指南
flutter·webrtc·ipc
liuxf12341 天前
鸿蒙Flutter,No Hmos SDK found.
flutter·华为·harmonyos
西西学代码1 天前
Flutter---Listview横向滚动列表(1)
flutter