波波老师,我对您视频中capacityIndex 前面的static静态变量为啥去掉不是特别理解,为什么在类里面运用了就可以删去呢?
来源:14-7 哈希表更复杂的动态空间处理方法
v不离不弃v
2020-02-05
写回答
1回答
-
static 变量是指这个类的所有对象共享的变量。
一个类中如果声明了一个 static 的变量,那么,这个类的所有对象,a, b, c, d, e, f, g,其对应的值,全都一样。
比如 upperTol,lowerTol 是 static 的,那么每一个 HashTable 类对象的 upperTol,lowerTol,都是这个值。
而非 static 的变量,是类成员变量,类成员变量,每个类的对象是不一样的。
比如我创建一个学生类,里面有一个 title 属性,可以声明成 static 的,赋值是 "Student",因为学生类的所有对象,对应的“职业”都是“学生”;
但是,name 属性不能是 static 的,因为每个学生的名字不一样。
同理,capacityIndex 不是一个所有对象共享的内容,一句没一个哈希表对象的不同,要取不同的值。
再仔细理解一下 capacityIndex 的意义?
继续加油!:)
132020-02-07
相似问题
删除节点不理解
回答 2