七叶笔记 » java编程 » java中的静态是什么?如何理解?

java中的静态是什么?如何理解?

在Java语言中,static表示“静态”的意思,使用场景可以用来修饰成员变量和成员方法,当然也可以是静态代码块。static的主要作用在于创建独立于具体对象的域变量或者方法。

格式:

修饰变量:static 数据类型 变量名

修饰方法:【访问权限修饰符】 static 方法返回值 方法名(参数列表)

特点:

1、static可以修饰变量和方法;

2、被static修饰的变量或者方法是独立于该类的任何对象,也就是说,这些变量和方法不属于任何一个实例对象,而是被类的实例对象所共享;

3、在类被加载的时候,就会去加载被static修饰的部分;

4、被static修饰的变量或者方法是优先于对象存在的,也就是说当一个类加载完毕之后,即便没有创建对象,也可以去访问。

静态变量和实例变量的区别:

实例变量:每次创建对象,都会为每个对象分配成员变量内存空间,实例变量是属于实例对象的,在内存中,创建几次对象,就有几份成员变量。

静态变量:静态变量由于不属于任何实例对象,是属于类的,所以在内存中只会有一份,在类的加载过程中,JVM为静态变量分配一次内存空间。

应用场景:

如果某个成员变量是被所有对象所共享的,那么这个成员变量就应该定义为静态变量。

注意事项:

1、在静态方法中没有this关键字,因为静态是随着类的加载而加载,而this是随着对象的创建而存在的。静态比对象优先存在。

2、静态可以访问静态的,但是静态不能访问非静态的。

3、非静态的可以去访问静态的。

推荐教程:Java教程

相关文章