在类似C这样的非OO编程语言中,语句
int x;
是一个声明,说明变量x是整数(integer),整数是C语言预定义类型中的一种。
这到底意味这什么?它表示
l x是表示一个整数值变量的符号。
l 被命名为x的“那东西”懂得如何响应为int类型定义的数种不同操作,如加(+)、减(-)、乘(*)、除(/)、逻辑比较(>、<、=)等等。
l 无论何时想要对这个整数值进行操作,只要通过其代表符号x即可:
if (x>17) x = x + 5;
在C#这样的面向对象语言中,我们可以定义一个Student类,然后声明一个变量:
Student y;
这是什么意思?它表示
l y是表示一个Student对象(Student类的一个实体)的符号
l 被命名为y的“那东西”懂得如何响应Student类所定义的一系列不同服务请求——如选修一门课程、退选一门课程,等等。
l 无论何时需要操作该对象,只需要引用y:
// 伪代码。
if (y hasn't chosen an advisor yet) Console.WriteLine ("Uh oh ...");
注意本例中作为Student对象的y和上例中作为int类型变量的x之间的不同之处。int是预定义类型(C和C#均是),Student类则是用户定义类型(user-defined type)。
而且,因为上例中y是指向Student类的一个实体的变量,所以,它被正式地称为引用变量(reference variable)。
引用变量的名称遵循方法和attribute的命名惯例,即使用Pascal命名法。下面是一些引用变量的声明示例:
Student x;
Student aStudent;
Course prerequisiteOfThisCourse;
Professor myAdvisor;





