java中static讲解

举报
西红柿炒鸡蛋儿 发表于 2022/02/26 18:20:53 2022/02/26
【摘要】 ​一.static1.static翻译为“静态”2.所有的static关系子修饰都是类相关的,类级别的。3.所有的static修饰的,都是采用“类名.”的方式访问。4.static修饰的变量:静态变量5.static修饰的方法:静态方法6.没有static修饰的方法都要先new对象,然后通过“引用.”访问static修饰的方法只能被另一个也是static修饰的方法调用二.变量的分类:1.变量...

一.static

1.static翻译为“静态”

2.所有的static关系子修饰都是类相关的,类级别的。

3.所有的static修饰的,都是采用“类名.”的方式访问。

4.static修饰的变量:静态变量

5.static修饰的方法:静态方法

6.没有static修饰的方法都要先new对象,然后通过“引用.”访问

static修饰的方法只能被另一个也是static修饰的方法调用


二.变量的分类:

1.变量根据声明的位置进行划分:

在方法体当中声明的变量叫做:局部变量 。

在方法体外声明的变量叫做:成员变量(全局变量)

注意:

(1).main 函数内的变量不是全局变量,而是局部变量,只不过它的生命周期和全局变量一样长而已。

(2).全局变量一定是定义在函数外部的。


2.成员变量又分为:实例变量   静态变量

静态变量都用类名访问。

实例变量的都要先new对象,然后引用访问。要不可能会出现空指针异常。

重点记住:

加static的变量叫做静态变量

静态变量在类加载时初始化,不需要new对象,静态变量的空间就开出来了

静态变量储存在方法区。


三.java中三个变量分别储存在那块内存上?

jvm一共有三块内存

栈内存中存放局部变量

堆内存中存放实例变量(对象级别,没有static的)

方法区中放静态变量(类级别)


1.什么时候变量声明为实例的,什么时候声明为静态的?

如歌这个类中的所有对象的某个属性值都是一样的,不建议定义为实例变量,浪费内存空间,建议定义为类级别特征,定义为静态变量,在方法去中值保留一份,节省内存开销。


每个对象都不一样的变量的是实例变量,

所有对象都有一个一样的变量叫静态变量。

 

四.static变量例子:

结论:

实例的:一定需要使用“引用.”来访问

静态的:建议使用“类名.”来访问,但使用“引用.”也行(不建议使用“引用.”)静态的如歌使用“引用.”来访问会让程序员产生困惑:以为是实例的

例子:


 

 

五.空指针异常

1.空引用调用实例方法会出现什么问题?

空指针异常。

2.空指针异常只有在什么情况下才会发生的呢?

只有在“空引用”访问“实例”相关的,都会出现空指针异常。

空引用例子:

 

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。