什么是静态变量?(static variables?)

静态变量,也称为全局变量,是与类的特定实例无关的数据片段。无论创建了多少类对象,这些变量只能有一个值。根据上下文的不同,静态变量可能比它们的实例变量对应项更灵活或更严格,后者对于类类型的每个特定对象都有自己的离散值。在面向对象编程语言中,良好的编程实践通常要求将静态对象、方法或变量的使用保持在最低限度,但它们确实具有有用的应用程序。。...

静态变量,也称为全局变量,是与类的特定实例无关的数据片段。无论创建了多少类对象,这些变量只能有一个值。根据上下文的不同,静态变量可能比它们的实例变量对应项更灵活或更严格,后者对于类类型的每个特定对象都有自己的离散值。在面向对象编程语言中,良好的编程实践通常要求将静态对象、方法或变量的使用保持在最低限度,但它们确实具有有用的应用程序。。

In object oriented programming languages, good programming practice usually dictates that the use of static objects, methods, or variables be kept to a minimum, but they do have useful applications.

静态变量有时被视为具有限制性的一个主要原因是,一个变量最多只能存在一个值。对变量的任何赋值都将覆盖上一个赋值,并且上一个值中的任何信息都将丢失。如果没有变量的多个副本,则无法存储多个数据值。如果值发生更改,则它影响的每个对象都必须使用新值运行,如果旧值不打算删除,则更改可能对特定类类型的每个实例对象都有害。除非变量在创建时以某种方式被锁定,否则意外更改的风险以及它可能对对象造成的后续破坏会导致一些程序员尽可能避免使用静态变量。。

静态变量有时被认为是灵活的,原因与它们被称为限制性变量的原因相同。即使变量的值未锁定,对其值的计划更改也会产生积极影响。在类的所有对象之间共享的变量保证是一致的,并且可以在类内部和外部使用,并确信其值始终相同。静态变量有各种有用的应用程序,尤其是在常量维护和序列化实现中。Java尤其严重依赖这种静态序列化机制。。

程序员在实现静态变量时经常使用某些通用规则。这些变量通常作为小数据值工作得最好,因为大的静态对象会使程序比必须的更加僵硬。小数据值可以快速、轻松地更改,而不必太担心引入错误。大型静态对象需要花费更多的时间和精力进行更改,并且更容易引入会中断所有类对象的错误。这些是指导原则,而不是牢不可破的规则,根据程序的不同,小变量和大变量可能都有用途。。

  • 发表于 2021-12-08 12:42
  • 阅读 ( 79 )
  • 分类:互联网

你可能感兴趣的文章

静止的(static)和动态内存分配(dynamic memory allocation)的区别

...内存,内存大小就可以更改。 目录 1. 概述和主要区别 2. 什么是静态内存分配 3. 什么是动态内存分配 4. 静态和动态内存分配的相似性 5. 并排比较-静态和动态内存分配的表格形式 6. 摘要 什么是静态内存分配(static memory allocation)...

  • 发布于 2020-10-11 12:09
  • 阅读 ( 1022 )

静止的(static)和java期末考试(final in java)的区别

...方法或无法继承的类。 目录 1. 概述和主要区别 2. Java中什么是静态的 3. Java中的final是什么 4. Java中static和final的相似性 5. 并排比较-静态和最终的Java表格形式 6. 摘要 什么是java中的静态(static in java)? 类由数据成员(属性)和方...

  • 发布于 2020-10-19 07:48
  • 阅读 ( 332 )

班(class)和实例变量(instance variables)的区别

...类与实例变量以表格形式显示 6. 摘要 什么是类变量(class variables)? 当只有一个变量副本与类的所有实例共享时,这些变量称为类变量。类变量是在任何方法之外的类中声明的变量。这些变量包含关键字静电。这些变量与类关联...

  • 发布于 2020-10-19 16:54
  • 阅读 ( 321 )

静态绑定(static binding)和动态绑定(dynamic binding)的区别

...这两种绑定机制之间的区别。 目录 1. 概述和主要区别 2. 什么是静态绑定 3. 什么是动态绑定 4. 静态绑定与动态绑定的相似性 5. 并列比较-静态绑定与动态绑定的表格形式 6. 摘要 什么是静态绑定(static binding)? 绑定是方法调用和...

  • 发布于 2020-10-19 17:49
  • 阅读 ( 431 )

如何用arduino和unity制作自定义游戏控制器

...ccesary, but they make life easier back in the Inspector. [Header("Arduino Variables")] //we need to declare the Arduino as a variable public Arduino arduino; //we need to declare an integer for the pin number of our potentiometer, //making these variables public means we can change them in the edit...

  • 发布于 2021-03-17 05:47
  • 阅读 ( 600 )

抽象类(abstract class)和java接口(interface in java)的区别

...常都会在接口中进行搜索。 Java中抽象类和接口的“Final Variables”——接口中声明的变量默认为Final,而抽象类可能包含也可能不包含非Final变量。 抽象类(abstract class) vs. java接口:比较表(interface in java: comparison table) 抽象类 接...

  • 发布于 2021-06-25 03:52
  • 阅读 ( 318 )

最终的(final)和静止的(static)的区别

...误。至于Java术语,声明为静态和final的变量称为常量。 什么是最终的(final)? 最后一个修饰符可以在Java编程语言中的几个地方使用。这里我们将介绍它最常见的用法。最后一个修饰符可以应用于局部变量、函数参数和非静态或...

  • 发布于 2021-06-25 15:47
  • 阅读 ( 317 )

静止的(static)和最终的(final)的区别

...。静态变量的主要优点是有助于节省内存。 Figure 1: Static Variable 在上面的程序中,有一个名为count的静态变量。在构造函数中,计数增加1。在主程序中,创建三个student对象。打印计数将得到结果3,因为有三个对象。count变量由...

  • 发布于 2021-07-01 02:23
  • 阅读 ( 451 )

静止的(static)和C++中的常量函数(constant function in c++)的区别

...两种类型的函数。 覆盖的关键领域 1、C++中的静态函数是什么?定义、功能2。C++中的常数函数是什么?定义、功能3。C++中静态和常量函数的区别是什么? 关键术语 静态函数,常数函数,C++ 什么是C++中的静态函数(static function i...

  • 发布于 2021-07-01 09:34
  • 阅读 ( 293 )

实例变量(instance variable)和局部变量(local variable)的区别

...象、方法、实例变量、局部变量 什么是实例变量(instance variable)? 实例变量是在类中声明的变量,但在方法之外。这些变量表示整个类的对象状态。该类的任何对象都有自己的实例变量副本。因此,在另一个对象的实例变量中...

  • 发布于 2021-07-01 22:24
  • 阅读 ( 1150 )
r478797799
r478797799

0 篇文章

相关推荐