static 变量是指这个类的所有对象共享的变量。
一个类中如果声明了一个 static 的变量,那么,这个类的所有对象,a, b, c, d, e, f, g,其对应的值,全都一样。
比如 upperTol,lowerTol 是 static 的,那么每一个 HashTable 类对象的 upperTol,lowerTol,都是这个值。
而非 static 的变量,是类成员变量,类成员变量,每个类的对象是不一样的。
比如我创建一个学生类,里面有一个 title 属性,可以声明成 static 的,赋值是 "Student",因为学生类的所有对象,对应的“职业”都是“学生”;
但是,name 属性不能是 static 的,因为每个学生的名字不一样。
同理,capacityIndex 不是一个所有对象共享的内容,一句没一个哈希表对象的不同,要取不同的值。
再仔细理解一下 capacityIndex 的意义?
继续加油!:)