静态变量与非静态变量的区别

静态变量前有static关键字修饰。

1.内存分配

静态变量在应用程序初始化时,就存在于内存当中,直到它所在的类的程序运行结束时才消亡;

非静态变量需要被实例化后才会分配内存。

2.生存周期

静态变量生存周期为应用程序的存在周期;

非静态变量的存在周期取决于实例化的类的存在周期。

3.调用方式

静态变量只能通过“类.静态变量名”调用,类的实例不能调用;

非静态变量当该变量所在的类被实例化后,可通过实例化的类名直接访问。

4.共享方式

静态变量是全局变量,被所有类的实例对象共享,即一个实例的改变了静态变量的值,其他同类的实例读到的就是变化后的值;

非静态变量是局部变量,不共享,即一个类的不同实例访问的非静态变量可以是不同的值。

5.访问方式

静态成员不能访问非静态成员;

非静态成员可以访问静态成员。

文章仅供参考,转载请注明出处。
不怕千万人阻挡,只怕自己投降。
原文地址:https://www.cnblogs.com/jakeylove3/p/7754291.html