牛骨文教育服务平台(让学习变的简单)
博文笔记

java中静态变量和成员变量的区别

创建时间:2016-12-26 投稿人: 浏览次数:144

所属不同:

静态变量属于类,所以也称为为类变量;成员变量属于对象,所以也称为实例变量(对象变量)


在内存中位置不同:

静态变量存储于方法区里的静态区;成员变量存储于堆内存区


在内存中出现的时间不同:

静态变量随着类的加载而加载、随着类的消失而消失;

成员变量随着对象(也叫实例)的创建而存在,随着对象的消失而消失。


调用方式不同:

静态变量可以通过类名调用,也可以通过对象调用; 成员变量只能通过对象名调用。


------------------

在静态方法中是没有this关键字的,如何理解呢?

静态变量是随着类的加载而加载,this是随着对象的创建而存在。静态先于对象存在。

静态方法只能访问静态的成员变量和静态的成员方法。

非静态方法可以调用静态的成员变量也可以调用非静态的成员变量

非静态方法可以调用静态的成员方法,也可以调用非静态的成员方法。

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。