类的静态成员变量和非静态成员变量的区别

如题所述

第1个回答  2020-04-02
根本的区别,就是静态成员变量是所有对象共用的,只有一份,不会为每一个对象都分配一个不同的值。
比如,如果最长寿命是一个静态成员变量,那么你-最长寿命

我-最长寿命
调用的时候用的是同一个内存上的值,所有对象的调用都是这个值。
不过是非静态成员,那么这个值就不同。每个对象都有自己的值,比如名字、身高、等等

类的静态成员和非静态成员有何区别
非静态成员也叫成员变量,二者区别如下 :1、名称上的区别 成员变量也叫实例变量;静态变量也叫类变量。2、内存存储的区别 成员变量存储到堆内存的对象中,静态变量存储到方法区的静态区中。3、生命周期不同 成员变量随着对象的出现而出现,随着对象的消失而消失。静态变量随着类的出现而出现,随着类的消...

静态成员和非静态成员的区别
数据成员可以分静态变量、非静态变量两种.静态成员:静态类中的成员加入static修饰符,即是静态成员.可以直接使用类名+静态成员名访问此静态成员,因为静态成员存在于内存,非静态成员需要实例化才会分配内存,所以静态成员不能访问非静态的成员..因为静态成员存在于内存,所以非静态成员可以直接访问类中静态的成员...

静态方法和非静态方法的区别是什么
六、使用不同:1、静态方法属于类所有,类实例化前即可使用。2、非静态方法可以访问类中的任何成员,静态方法只能访问类中的静态成员。3、因为静态方法在类实例化前就可以使用,而类中的非静态变量必须在实例化之后才能分配内存,static内部只能出现static变量和其他static方法!而且static方法中还不能使用thi...

静态变量与非静态变量的区别
1、存储位置不同 静态变量:存储在全局数据区(静态数据区)。非静态变量叫动态变量:存储在内存出栈数据区。2、生命期不同 动态变量:根据你定义的位置确定,比如你在一个函数中定义的,那么超出该函数范围变量将失效。静态变量:程序结束时才释放。3、作用域不同 动态变量:同样的要根据你定义的位置才...

静态方法和非静态方法的区别是什么
静态成员属于类,而非静态成员属于实例,这意味着静态方法无需实例化即可使用,而非静态方法则受限于类实例。静态方法内部只能有静态变量和方法,不能使用"this"等关键字。静态方法的持久性与其效率是双刃剑,但不具备销毁机制,而实例化的对象有销毁可能。总结来说,选择使用静态方法还是非静态方法,取决于...

java里static变量和非static变量有什么区别
也就是说当声明一个对象是,并不产生static变量的拷贝,而是该类所有的实例对象共用同一个static变量。非static修饰的成员变量是在对象new出来的时候划分存储空间,是与具体的对象绑定的,该成员变量仅为当前对象所拥有的。对象在引用成员变量是直接通过类名.变量名调用,对象在引用实例变量时只能通过对象名...

c++静态类和非静态类的区别
作用域不同,内存分配不同。1、作用域不同:c加加静态类的成员变量和成员函数的作用域是整个程序中可见的,而非静态类的成员变量和成员函数的作用域是类的内部。2、内存分配:c加加静态类的成员变量和成员函数在程序开始运行时就被分配了内存,而非静态类的成员变量和成员函数则是在对象创建时才分配...

java static成员变量方法和非static成员变量方法的区别
静态静态,就是当类被加载时,这个内存就静静的待在这里,就已经存在,而普通成员变量,只有类被实例化时才分配内存。调用方法 成员变量需要对象才能被调用;而静态成员变量可以直接通过类来调用,当然也可以直接调用 PS:小小疑问为什么可以直接调用,我看一些参考书上只说可以通过类来调用?public class ...

...它们的静态成员变量和非静态的内存地址是一样的吗?
静态成员变量地址:一样。因为静态成员变量在类装载入内存时,进行初始化+赋值。所以有且只有一份,所以地址是一样的。非静态成员变量地址:不一样。new一次,分配一次内存,所以不一样

C++ 中static 和final的区别是什么
1、在类中,用static声明的成员变量为静态成员变量,它为该类的公用变量,在类加载的时候被创建并初始化(只被创建初始化一次),对于该类的所有对象来说,staitic成员变量只有一份。2、用static声明的方法为静态方法,在调用该方法时,不会将对象的引用传递给它,所以在static方法中不可访问非静态的...

相似回答
大家正在搜