静态成员随着类的产生而产生,消失而消失;非静态成员随着对象的产生而产生,消失而消失。
1.静态成员变量与非静态成员变量
产生时间不同:静态成员随着类的产生而产生,非静态成员随着对象的产生而产生
存储位置不同:静态成员变量存在于类方法区的静态区中,非静态成员变量存在于堆内存中
调用方式不同:静态成员变量可由类名调用,也可由对象调用,是属于整个类的,是该类所有对象所共有的对象;而非静态成员变量只能由具体的对象调用,是属于该类某一特定对象的
2.静态成员函数与非静态成员函数
静态成员函数只能访问静态成员变量/函数,而非静态成员函数可以访问静态、非静态成员变量/函数。
注:静态成员函数中没有this指针