vb中的static定义

vb中的static定义,第1张

Static 语句

在过程级别中使用,用于声明变量并分配存储空间。在整个代码运行期间都能保留使用

Static 语句声明的变量的值。

说明:

模块的代码开始运行后,使用

Static 语句声明的变量会一直保持其值,直至该模块复位或重新启动。可以在非静态的过程中使用 Static

语句显式声明只在该过程内可见,但具有与包含该过程定义的模块相同生命期的变量。

Static 语句示例

该示例使用 Static 语句,可以在模块代码运行期间一直保持变量的值。

'函数定义。

Function KeepTotal(Number)

  '只有 Accumulate 变量能在调用过程之间保持其值。

  Static Accumulate

  Accumulate = Accumulate + Number

  KeepTotal = Accumulate

End Function

'Static 函数定义。

Static Function MyFunction(Arg1, Arg2, Arg3)

  '所有局部变量在函数调用之间都能保持其值。

  Accumulate = Arg1 + Arg2 + Arg3

  Half = Accumulate / 2

  MyFunction = Half

End Function

关键字static的作用是什么?

这个简单的问题很少有人能回答完全。在C语言中,关键字static有三个明显的作用:

•; 在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。

•; 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。

•; 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。

例子可以参考我的下面URL

变量有不同,因为变量有两个属性,生存期和作用域。

定义在函数外部是全局变量,生存期是整个程序运行到结束,作用域也是整个程序。

定义在函数内部是局部变量,生存期是整个程序运行到结束(对于static),而作用域只是函数被调用的这个过程。也就是说不能在函数外调用它。

函数一般的,在一个变化过程中,有两个变量x、y,如果给定一个x值,相应的就确定唯一的一个y,那么就称y是x的函数,其中x是自变量,y是因变量,x的取值范围叫做这个函数的定义域,相应y的取值范围叫做函数的值域。

在类(class)上加入static修饰, 表示该类无法被实例化,并且该类中,无法实例化变量或函数。

那么如果要在此静态类中添加函数、变量、属性,则必须都是静态的。

参考MSDN的解释:

静态类的主要特性:

1:仅包含静态成员。

2:无法实例化。 

3:静态类的本质,是一个抽象的密封类,所以不能被继承,也不能被实例化。

4:不能包含实例构造函数

5:如果一个类下面的所有成员,都需要被共享,那么可以把这个类定义为静态类。

换一句大白话,C# 20中引入了static修饰词就是为了控制代码中“静态类内部不允许出现非静态变量或函数”的。 深一层的原因可能只有搞编译器的那些人才知道。

所以,可以在普通类中添加静态方法,但是静态类中的方法、变量都必须是静态的。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/12157610.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-21
下一篇2023-05-21

发表评论

登录后才能评论

评论列表(0条)

    保存