Java基础-----static关键字

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yuming226/article/details/84875881
static关键字特点

1、随着类的加载而加载。
2、优先于对象存在。
3、被类的所有对象共享:这也是判断是否使用静态关键字的条件。
4、可以通过类名调用。

static关键字注意事项

1、在静态方法中是没有this关键字的。原因:静态是随着类的加载而加载,this是随着对象的创建而存在。静态比对象先存在。
2、静态方法只能访问静态的成员变量和静态的成员方法。
(1)静态方法:成员变量:只能访问静态变量。成员方法:只能访问静态成员方法。
(2)非静态方法:成员变量:可以是静态的,也可以是非静态的。成员方法:可是静态的成员方法,也可以是非静态的成员方法。
3、可以通过类名调用,也可以通过对象名调用。

static的内存图解

在这里插入图片描述

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

(1)所属不同

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

(2)内存出现时间不同

1、静态变量随着类的加载而加载,随着类的消失而消失。
2、成员变量随着对象的创建而存在,随着对象的消失而消失。

(3)调用不同

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

(4)内存中位置不同

1、静态变量存储于方法区的静态区。
2、成员变量存储于堆内存。

猜你喜欢

转载自blog.csdn.net/yuming226/article/details/84875881