类的静态成员和非静态成员有何区别

如题所述

1.访问方式不一样.静态成员(通过类名.静态成员名访问).非静态成员(通过对象名.非静态成员名访问)
2.静态成员属于类.该类的所有对象共同拥有这一个成员.非静态成员属于对象,每个对象都有一份.
静态成员不论有类有多少个对象.只在内存中分配一块空间.
非静态成员,有多少个对象就分配多少个空间.
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-15
静态成员就是该类所以对象共享的,(只有一份,需要在类外声明)
非静态成员各是各的,就是普通成员本回答被提问者采纳

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

静态成员变量静态变量与非静态变量
与非静态成员不同,静态成员在类被创建后就分配了内存,无需实例化对象,因此无法访问非静态成员。反之,非静态成员需要类的实例化后才能分配内存,且它们的生命周期随类的实例而起落,而静态成员始终驻留在内存中,不受实例化影响。在类的设计中,静态成员和非静态成员可以共存。静态成员通常与面向过程的...

静态方法和非静态方法的区别是什么
1、静态成员属于类所有,非静态成员属于类的实例所有。2、每创建一个类的实例,都会在内存中为非静态成员新分配一块存储;非静态成员属于类所有,为各个类的实例所公用,无论类创建了多少实例,类的静态成员在内存中只占同一块区域。六、使用不同:1、静态方法属于类所有,类实例化前即可使用。2、非...

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

java中静态方法和非静态方法的区别
1、调用方式区别:静态方法可以直接通过类名调用。非静态方法需要通过对象实例调用。2、对象依赖区别:静态方法不依赖于任何对象实例,可以独立地执行。在静态方法中,不能直接访问类的非静态成员,非静态成员需要通过对象实例来访问。非静态方法依赖于对象实例,需要通过对象来调用。在非静态方法中,可以直接...

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

java静态类和非静态类的区别?
区别:(1)内部静态类不需要有指向外部类的引用。但非静态内部类需要持有对外部类的引用。(2)非静态内部类能够访问外部类的静态和非静态成员。静态类不能访问外部类的非静态成员。他只能访问外部类的静态成员。(3)一个非静态内部类不能脱离外部类实体被创建,一个非静态内部类可以访问外部类的数据...

静态内部类和非静态内部类的区别
区别:1、静态内部类可以有静态成员(方法,属性),而非静态内部类则不能有静态成员(方法,属性)。2、静态内部类只能够访问外部类的静态成员和静态方法,而非静态内部类则可以访问外部类的所有成员(方法,属性)。3、实例化一个非静态的内部类的方法:a.先生成一个外部类对象实例 OutClassTest oc1 = ...

Java中的静态内部类与非静态内部类的区别及使用场景
首先,静态内部类的特性在于,它可以直接访问外部类的静态成员,包括静态字段和方法。这种访问无需依赖外部类的实例,可以直接通过类名创建实例。然而,非静态内部类则受限于此,它不能直接访问外部类的静态成员,需要通过外部类的实例来实现访问。在实例化方面,静态内部类的实例化独立于外部类,可以直接通过...

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

相似回答