在当前的计算机操作系统中,任何软件运行都需要一个内存块,也就是生存空间。同样,对象也要。要让一个类的对象为我们工作之前,需要为他分配一个内存空间并创建它,这也是和其他的数据类型不一样的地方:
var
begin
{ 错误,因为定义这个对象前,还没有为他创建内存空间,
end;
正确的方法应该是,在使用类的对象前,要显示的调用类的构造方法:
使用如下代码:
或许有朋友会说,为什么不是s.Create呢?那是因为,在执行这条代码前,还没有为s分配内存空间,是不能访问他内部的数据成员的。因为类是抽象存在的,所以在编译器为你的代码打包成可执行文件后,TStringList在内存中已经存在了。当然这种“类名.方法名”的调用方式只能用在类(静态)方法上,而类的构造器的入口则是必须静态存在的。