请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

波波老师,我对您视频中capacityIndex 前面的static静态变量为啥去掉不是特别理解,为什么在类里面运用了就可以删去呢?

正在回答

1回答

static 变量是指这个类的所有对象共享的变量。


一个类中如果声明了一个 static 的变量,那么,这个类的所有对象,a, b, c, d, e, f, g,其对应的值,全都一样。

比如 upperTol,lowerTol 是 static 的,那么每一个 HashTable 类对象的 upperTol,lowerTol,都是这个值。


而非 static 的变量,是类成员变量,类成员变量,每个类的对象是不一样的。


比如我创建一个学生类,里面有一个 title 属性,可以声明成 static 的,赋值是 "Student",因为学生类的所有对象,对应的“职业”都是“学生”;

但是,name 属性不能是 static 的,因为每个学生的名字不一样。


同理,capacityIndex 不是一个所有对象共享的内容,一句没一个哈希表对象的不同,要取不同的值。


再仔细理解一下 capacityIndex 的意义?


继续加油!:)

1 回复 有任何疑惑可以回复我~
  • 提问者 v不离不弃v #1
    谢谢波波老师!
    回复 有任何疑惑可以回复我~ 2020-02-05 13:26:22
  • 提问者 v不离不弃v #2
    波波老师那这个和final有什么区别呢,final定义的对象也是不可以改变的,我看每次在定义一个final属性的时候通常都加static,那么public static int 和public static fianl int有什么不同呢
    回复 有任何疑惑可以回复我~ 2020-02-07 00:32:28
  • liuyubobobo 回复 提问者 v不离不弃v #3
    final 表示是否可变;static 表示是否静态(类共享还是每个类对象单独使用),两个不同的作用语义。
    回复 有任何疑惑可以回复我~ 2020-02-07 00:51:01
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信