java中static关键字的理解

java中static关键字的理解什么是static关键字static关键字我们经常接触,不过我们一直没有讨论过它到底是什么,有什么具体的作用,那static关键字是什么呢,有啥用呢?static是静态的意思,是一个修饰符,就像是一个形容词,是用来形容类、变量、方法的。static修饰变量,这个变量就变成了静态变量,修饰方法这个方法就成了静态方法,static关键字方便在没有创建对象的情况下来进行调用(方法/变量)。static关键字的作用static关键字你可以理解为是一个形容词,一般是用来形容类、方法、变量、以及代码块

大家好,欢迎来到IT知识分享网。

什么是 static 关键字

static关键字我们经常接触,不过我们一直没有讨论过它到底是什么,有什么具体的作用,那static关键字是什么呢,有啥用呢?

static是静态的意思,是一个修饰符,就像是一个形容词,是用来形容类、变量、方法的。

static修饰变量,这个变量就变成了静态变量,修饰方法这个方法就成了静态方法,

static关键字方便在没有创建对象的情况下来进行调用(方法/变量)。

static 关键字的作用
static关键字你可以理解为是一个形容词,一般是用来形容类、方法、变量、以及代码块,还有一个作用是用来静态导包,常见的三个用法。

1. 修饰变量
不使用static关键字访问对象的属性:
在这里插入图片描述

使用static关键字访问对象的属性:

在这里插入图片描述
注意:如果一个类的成员变量被static修饰了,那么所有该类的对象都共享这个变量。无论这个类实例化多少对象,它的静态变量只有一份拷贝。
如:
在这里插入图片描述
输出:

李四
李四
李四
  1. 修饰方法

用static关键字修饰的方法叫做静态方法。静态方法我们已经用过,它有一个特点相信你已经很熟悉,那就是不需要创建对象就可以直接使用。
如:

在这里插入图片描述

注意:
1) 静态方法不能使用类的非静态变量;

在这里插入图片描述

2) 静态方法可以直接调用静态方法,但是调用普通方法只能通过对象的实例才能调用。

在这里插入图片描述

  1. 静态代码块

我们先来看一段静态代码块的运行效果:

在这里插入图片描述

输出结果:

我被调用了

上图中static{ }就是一个静态代码块。

我们在main方法中没有编写任何代码,可是运行的时候,程序还是会输出我被调用了,由此我们可以发现静态代码块是不需要依赖main方法就可以独立运行的。

关于静态代码块你只需要记住一句话:在类被加载的时候运行且只运行一次。

静态代码块中变量和方法的调用也遵守我们之前所说的规则,即只能直接调用静态的属性和方法。

总结:
(1)如果一个类的成员变量被static修饰了,那么所有该类的对象都共享这个变量,对于方法也一样。(类名.变量名/方法名)

(2)静态方法不能使用非静态变量。

(3)静态代码块是不需要依赖main方法就可以独立运行的,其中只能直接调用静态的属性和方法,在类被加载的时候运行且只运行一次(必定运行一次)。

(4)在Java中是不能用static关键字修饰局部变量的。(人为规定)

其实这些变量都之所以叫局部变量,其作用域也只限于声明它的方法体内。在方法被调用时,这些局部变量获得内存空间,到方法执行结束时,他们所占据的内存空间就被释放。而static,public是用来声明全局变量或是被其他对象引用的变量。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/22208.html

(0)
上一篇 2024-01-09 18:15
下一篇 2024-01-09 20:45

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信