区分类变量和实例变量

想看重点的,可直接看人话部分。

变量分类:

一、根据数据类型分类:

1.基本数据类型
2.引用数据类型

二、根据类声明位置分类:

1.成员变量
(1)类变量
(2)实例变量
2.局部变量

三、区分类变量和实例变量:

首先要区分好类和对象!!

- 官方话:

是对对象的抽象。
对象是对客观事物的抽象。

类变量也叫静态变量,也就是在变量前加了static 的变量。
实例变量也叫对象变量,即没加static 的变量。

所有的实例对象都共用一个类变量,内存中只有一处空间是放这个类变量值的。
如果一个对象把类变量值改了,另外一个对象再取类变量值就是改过之后的了。
(静态变量并不是说其就不能改变值,不能改变值的量叫常量。 其拥有的值是可变的 ,而且它会保持最新的值。说其静态,是因为它不会随着函数的调用和退出而发生变化。即上次调用函数的时候,如果我们给静态变量赋予某个值的话,下次函数调用时,这个值保持不变。)

- 人话:

是规则。
对象是规则下的产品。
类变量是规则的一部分。
实例变量是产品的一部分。

一个规则在制定好了之后,类变量也被制定好了,已经存在。但是实例变量并没有被创生。

当第一个产品被创造出来的时候,类变量已经存在,实例变量1此时存在。

当第二个产品被创造出来的时候,类变量已经存在,实例变量2此时存在。

当第三个产品被创造出来的时候,类变量已经存在,实例变量3此时存在。

当第三个产品将类变量改为类变量1
第二个产品的类变量也会变成类变量1
第一个产品的类变量也会变成类变量1
因为第三个产品去改变了规则。

猜你喜欢

转载自blog.csdn.net/pz641/article/details/104799218