我正在完成基础编程课程,并且在理解类变量和实例变量(静态和非静态)之间的区别时遇到了麻烦。我需要确定代码中两者之间的区别
Class StudentDetails
{
Int rollNumber;
String studentName;
}
StudentDetails firststudent= StudentDetails (19236, ”Thomas”);
我相信rollNumber,studentName,19236和“ Thomas”都是实例变量,而firststudent是一个类变量。
由于此课程材料不是很有帮助,对此将提供任何帮助。
类变量:一个类的所有不同对象只能共享一个副本,
class StudentDetails
{
static Int rollNumber;
/*...*/
}
实例变量:每个对象都有其自己的实例变量的个人副本。因此,跨不同对象的实例变量可以具有不同的值,而跨不同对象的类变量只能具有一个值。
class StudentDetails
{
Int rollNumber;
/*...*/
}
类和实例变量都是成员变量
在类中定义为字段的所有内容都是关联的实例。在下面的类中,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");