静态变量和成员变量的区别
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的功能远比它强大的多。
以上是关于静态变量和成员变量的区别的主要内容,如果未能解决你的问题,请参考以下文章