这句话属于贫道灵光一闪,特与大家分享:
static的作用就是:将“成员对对象的依赖关系”转嫁到类的身上
稍微解释一下
本来,类中的成员都是对一类事物特性或是功能的概括(或称描述、或称抽取、或称模型化)
但是,实际上用到了这些成员的是类的实例,也就是对象,成员实际上只在成员的身上发挥作用。
可以这么理解,类上的成员仅仅是描述概括抽取以及模型,都是虚的;只有由类创建的对象才具有这些“描述概括抽取以及模型”的实际作用,是具体的。只有在一个类的对象中这些“描述概括抽取以及模型”才是具体的属性和功能(请注意区分“具体的属性和功能”与“特性或是功能的概括”的区别)
上面的内容可以概括为——成员与对象具有依赖关系
而static的作用就是转嫁这种关系,static解除了成员对对象的依赖(使被static修饰的成员仅仅用类就可以使用),并且将这种依赖关系挂在了类本身身上(随类生(加载),随类死(释放))。
需要提一下的是,类与成员本来就是密切相关的,成员就是实际的事物抽象成类时概括来的,是定义在类中的,是对类的直接描述,是类的一个方面的体现。
所以,将static的作用概括为:《解除“成员对对象”的依赖关系》也是可以的(个人认为)。
欢迎各位对本帖内容进行交流^_^ |
|