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

Posted benon94

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了静态变量和成员变量的区别相关的知识,希望对你有一定的参考价值。

所属不同:

  静态变量属于类,所以也称为类变量;

  成员变量属于对象,所以也称为实例变量(对象变量)。

内存中位置不同:

  静态变量存储于方法区的静态区;

  成员变量存储于堆内存。

内存出现时间不同:

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

  成员变量随着对象的创建而存在,随着对象的消失而消失。

调用不同:

  静态变量可以通过类名调用,也可以通过对象名调用;

  成员变量只能通过对象名调用。

 

比如我们使用最多的Main方法就是静态的,因为Main方法不需要创建对象。

而且Main方法通过类名就可以调用,方便JVM的调用。

 

public static void main(String[] args){...}讲解:

public:由于Main方法是被JVM调用,所以访问权限要最大。

static:Main方法不需要创建对象,且需要通过类名调用。

void:Main是被JVM调用,JVM不需要任何返回值。

main:访问程序的一个入口。

String[] args:这是一个没有值的字符串数组。

  早期是为了接收键盘录入的数据的,格式是:java MainDemo hello world java

  先执行javac命令生成class文件,再执行java命令+类名+需要录入的内容(以上示例内容为hello world java)。

  因此,args.length的值为3,args[0]的值为hello。

  但是,有了Scanner后,就再也不用这种方式来录入数据了,Scanner的功能远比它强大的多。

以上是关于静态变量和成员变量的区别的主要内容,如果未能解决你的问题,请参考以下文章

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

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

静态变量和成员变量有什么区别?应该怎么调用?

成员变量和局部变量,静态变量的区别

Java 成员变量局部变量和静态变量的区别

C++中类里面定义 静态成员变量的问题