外的改变对方的变量而互相影响了。实现上述目标的通常技术是让程序的不同部分使用不同名字空间，或者通过动态变量作用使用各自的私有变量。很多程序设计语言使用保留的值（如NULL）表示没有初始化的变量。
类型.在静态类型语言中，如Java或ML，每个都变量有一个类型，也就是说只有给定种类的值能存储到该变量中。一个基本类型的变量只能保存基本类型的值。一个类类型的变量能保存空值NULL，或者保存该类型或其子类型的对象。一个接口类型的变量能保存空值NULL，或者该接口的任何一个实现。一个数组