无论在c#或者java中,成员变量是不可缺少的一部分,它有静态和非静态成员变量的区别。在java中获取数据库数据时,手贱在成员变量中加了静态修饰符导致数据一直有问题,因为习惯性在方法写静态;
我这里说的是静态的唯一性,下面我通过模仿数据库取值来验证静态成员的唯一性;
这里写了主要方法,第一个是通过非静态成员变量去赋值和取值,笫二个是通过静态成员变量去赋值和取值,两者都是通过for循环去添加数据,第二个for循环是用来遍历输出数据;我们从图中也可以看到给静态成员变量赋值的代码下面有警告提示,也可能用静态成员变量是有问题;
非静态类:
静态类:(每个成员变量和方法中都是有静态修饰符)
运行结果:
通过运行结果可以看到通过静态获取的值都是一样的,我这里说一下原理:
静态成员变量每次运行的赋值的时候是正常的值,只是因为是静态成员,它只能表示一个值(可以这样理解),而前面的所以数据都会被后面的一条数据给覆盖,运行结果出来三条一样的数据也是因为最后一条数据把前面的数据都覆盖了,原因就是因为它只能存储一个值的即使创建新的对象也不能改变它只能存储一个值得特性,也不能改变它的存储空间,静态成员都是存储在静态域中,是一个静态成员对应一个值的形式存在或者没有赋值的静态成员;