Dart static 关键字

2025年3月17日 | 阅读 3 分钟

static 关键字用于声明类变量和方法。它通常管理全局数据变量的内存。static 变量和方法是类的成员,而不是单个实例的成员。static 变量或方法对于类的每个实例都是相同的,因此如果我们将数据成员声明为 static,那么我们可以在不创建对象的情况下访问它。不需要类对象来访问 static 方法或变量,我们可以通过在 static 变量或方法之前加上类名来访问它。使用类名,我们可以从其他类调用类方法。

Dart Static 变量

使用 static 关键字在类中声明的变量称为 Dart static 关键字。这些是类的成员,而不是特定实例的成员。static 变量对于类的所有实例都被视为相同;这意味着 static 变量的单个副本在类的所有实例之间共享。它只分配一次内存,在类加载时分配,并在整个程序中使用。

要记住的要点 -

  • static 变量也被标识为类变量。
  • static 变量的单个副本在类的实例之间共享。
  • 可以使用类名访问它。我们不需要创建它所属类的对象。
  • static 变量可以直接在 static 方法中访问。

声明 static 变量

Dart 提供了 static 关键字来声明 static 变量。它通过使用 static 关键字后跟变量名来声明。语法如下所示。

语法

访问 static 变量

我们可以通过使用类名本身来访问 static 变量,而不是创建它的对象。语法如下所示。

语法

Dart Static 方法

static 方法的概念也类似于 static 变量。static 方法是类的成员,而不是类实例的成员。static 方法只能使用 static 变量,并且可以调用类的 static 方法。我们不需要创建类的实例来访问它。当我们想在其他类中使用它时,static 方法很有用。

注意事项

  • static 方法是成员类,而不是其对象。
  • Static 方法也被标识为类方法。
  • 我们可以使用类名访问 static 方法。
  • static 方法的特定副本分布在类的所有实例之间。

声明 static 方法

我们可以通过使用 static 关键字后跟方法名和返回类型来声明 static 方法。语法如下所示。

语法

调用 static 方法

可以通过使用它所属的类名来调用 static 方法,而不是创建对象。

语法

让我们理解下面的例子。

示例 -

输出

Student's name is: Ben Cutting
Student's salary is: 90013
Student's branch name is: Computer Science
Student's name is: Peter Handscomb
Student's salary is: 90014
Student's branch name is: Computer Science

说明

在上面的代码中,我们声明了名为 Student 的类,它有三个字段,包括 static 变量 stdBranch 和一个方法 showStdInfo()。我们创建了两个 Student 类的实例并将值分配给类变量。

static 变量 stdBranch 通过使用类名访问并赋值。然后,我们通过对象 std1 和 stu2 调用了 showStdInfo() 函数。它打印了学生的详细信息作为输出。


下一个主题Dart super 关键字