C#中的类变量与实例变量之间的差异

问题描述 投票:-2回答:2

我正在完成基础编程课程,并且在理解类变量和实例变量(静态和非静态)之间的区别时遇到了麻烦。我需要确定代码中两者之间的区别

Class StudentDetails
{
Int rollNumber;
String studentName;
}
StudentDetails firststudent= StudentDetails (19236, ”Thomas”);

我相信rollNumber,studentName,19236和“ Thomas”都是实例变量,而firststudent是一个类变量。

由于此课程材料不是很有帮助,对此将提供任何帮助。

c# instance-variables static-variables class-variables
2个回答
1
投票

类变量:一个类的所有不同对象只能共享一个副本,

class StudentDetails
{
  static Int rollNumber;
  /*...*/
}

实例变量:每个对象都有其自己的实例变量的个人副本。因此,跨不同对象的实例变量可以具有不同的值,而跨不同对象的类变量只能具有一个值。

class StudentDetails
{
  Int rollNumber;
  /*...*/
}

类和实例变量都是成员变量


0
投票

在类中定义为字段的所有内容都是关联的实例。在下面的类中,rollnumber,studentName都是实例关联的。

Class StudentDetails
{
  int rollNumber;
  string studentName;
}

StudentDetails student = new StudentDetails();

如果在类中定义静态字段,则该静态字段与该类相关联。

Class StudentDetails
{
  int rollNumber;
  string studentName;
  static int StudentClassNumber = 123
}

这里,静态字段StudentClassNumber与类相关联,而不与实例相关联。

如果您要如上所述实例化StudentDetails,则需要在类定义中定义一个非默认构造函数。

Class StudentDetails
{
  int rollNumber;
  string studentName;

  public StudentDetails(int rollnumber, string studentName)
  {
      this.rollNumber = rollnumber;
      this.studentName = studentName;

  }

}

StudentDetails firststudent= StudentDetails (19236, "Thomas");
© www.soinside.com 2019 - 2024. All rights reserved.