变量声明

[ STATIC ] { PUBLIC | PRIVATE } Identifier AS Datatype [ = Expression ]

声明一个类的公用变量。

访问

该变量可以使用在声明所在的类的任何地方。

  • 如果指定PUBLIC关键字,也可以被有对该类的对象引用的其他类使用。

  • 如果指定STATIC关键字,该类的每个对象将共享该变量。

示例

Static Public GridX As Integer
Static Private bGrid As Boolean
Public Name As String
Private Control As Object

初始化

变量可以用任意表达式 Expression 初始化。

示例

Private Languages As String[] = [ "fr", "it", "es", "de", "ja" ]
Private DefaultLanguage As String = Languages[1]

或者,您可以使用新实例化的对象初始化变量。

[ STATIC ] { PUBLIC | PRIVATE } Identifier AS NEW Class ( Arguments ... )

示例

Static Private Tasks As New List
Private MyCollection As New Collection(gb.Text)

或者,可以用一个本地动态数组初始化变量。

[ STATIC ] { PUBLIC | PRIVATE } Identifier AS NEW Datatype [ Array dimensions ... ]

注意,对于指定的数组维度可以使用任意表达式。

示例

Public CONST WORD_MAX As Integer = 12
Private Words As New String[WORD_MAX * 2]
Public Matrix As New Float[3, 3]

变量对齐

对象从不是被填满的,即变量被对齐到其所占用内存长度的整数倍内存地址:

由于优先遵循声明的顺序,对象中可能会有空白之处。 例如,如果声明了一个 Byte 变量,并且正好在一个 Integer 变量之后,那么在存储的 Byte 和 Integer 之间会有一个三字节未使用的空白区域。

数组声明

在Gambas中,有两类数组:“普通”数组和“嵌入式”数组。用特定的语法声明。

详细信息参见 数组声明

参见