-2

静态类不应该在对象的实例上工作。那么,如何识别正在“处理”的对象的实例?这会是任何具体的东西吗(即,将 new ObjectA() 传递给 aa 方法的参数)。因此,如果这是我所看到的,则该类不应该是静态的。

谢谢

4

1 回答 1

1

静态类仅仅意味着该对象只有一个实例。一个静态类的行为就像它只有一个实例一样。将其视为全球性的;您不能实例化静态类的任何对象。类的成员变量的值将全局保留其值,您可以使用成员函数对它们进行“处理”。

与静态类相反,使用非静态类,您可以创建新对象并使用成员函数在这些对象上“工作”:

vehicle honda = new vehicle();
honda.fuelup(10);
honda.value.ToString();

如果这是一个静态类:

vehicle.fuelup(10);
vehicle.value.ToString();

在上面的示例中,我们创建了一个对象 honda,类型为车辆。然后我们用函数对对象进行“工作”。对于静态类,我们不需要不能创建对象,我们只需调用类名而不是对象名(如本田)。

回顾一下:

  • 静态 = 全局,一个实例
  • 静态 = 全局,如果它只是一个实例(程序 itelf?)
  • 非静态 = 本地范围,许多实例

如果这不能回答或解决问题,请用明确的问题重新表述。

于 2012-04-19T00:25:12.977 回答