美文网首页
Java中static关键词

Java中static关键词

作者: 小圆圈Belen | 来源:发表于2020-06-12 15:41 被阅读0次
特点:

1、static是一个修饰符,用于修饰成员变量、成员函数。
2、static修饰的成员被所有的对象共享。
3、static优先于对象存在,因为static的成员随着类的加载就已经存在。
4、static修饰的成员多了一种调用方式,可以直接被类名所调用。

static修饰变量

static变量也称为静态变量,静态变量和非静态变量(成员变量)的区别:

1、是否共享
静态变量被所有对象共享,在内存中只有一个副本,在类初次加载的时候才会初始化;
成员变量是对象所特有的,在创建对象的时候被初始化,存在多个副本,各个对象拥有的副本互不影响。
注:
由于静态变量是所有对象共享的,所以当某个对象对静态变量值进行修改并赋值后,会改变这个静态变量的值,之后的对象调用该静态变量时,其值为改变后的值。


image.png image.png

如果不想被修改该静态变量的值,那么我们可以使用final在关键字进行修饰。


image.png

2、生命周期
静态变量随着类的加载而存在随着类的消失而消失;
成员变量随着对象的创建而存在随着对象的回收而释放。

3、调用方式
静态变量可以被对象调用,也可以用类名调用(为了清晰还是推荐用类名调用);
成员变量只能被对象调用。

static修饰方法

1、static修饰成员方法最大的作用,就是可以使用"类名.方法名"的方式操作方法,这样就避免了先要new出对象的繁琐和资源消耗。

静态成员方法和成员方法的区别

1、调用方式
静态方法可以采用类名.静态方法名 和 对象.静态方法名 这两种方式进行调用;
非静态方法只能使用对象.非静态方法名 这种方式进行调用。
2、访问权限
静态方法可以调用静态方法;
非静态方法可以调用静态方法和非静态方法。
原因:在内存当中先有静态内存,之后才有非静态内容。


image.png
image.png

static修饰代码块

static块可以置于类中的任何地方,类中可以有多个static块。在类初次被加载的时候,会按照static块的顺序来执行每个static块,并且只会执行一次。

优点:优化代码块

栗子:
未使用static修饰代码块:


image.png

isBornBoomer是用来这个人是否是1946-1964年出生的,而每次isBornBoomer被调用的时候,都会生成startDate和birthDate两个对象,造成了空间浪费。
使用static修饰代码块:


image.png

相关文章

  • Java中static关键词

    特点: 1、static是一个修饰符,用于修饰成员变量、成员函数。2、static修饰的成员被所有的对象共享。3、...

  • 一分钟带你了解java中的static关键词

    java中的static关键词 Static基本规则:(1)一个类的静态方法只能访问静态属性。(2)一个类的静态方...

  • java - 关键字 static

    一 static 代表着什么 在 java 中,static 表示静态的意思,并不是全局的意思,在 java 中不...

  • java面试问题总结与分享,很乱

    java中static关键字的作用 在Java中static表示“全局”或者“静态”的意思,用来修饰成员变量和成员...

  • Kotlin学习2

    1.Kotlin中static在kotlin中 没有static关键字,但是有类似java中static的用法例如...

  • 1.3 static 关键字

    static 关键字 《Java编程思想》 中:static方法就是没有this的方法 static 修饰的方法或...

  • Java中的static和final

    java中的static和final 此篇文章是记录我在学习Java中static和final关键字的笔记。 st...

  • 复习Java基础资料

    Java中面向字符的输入流 Java中的static关键字解析 Java中的main()方法详解 Java中普通代...

  • Java中static作用知识点讲解(广州中软卓越)

    今天广州中软卓越Java培训课程简要讲解一下关于Java中static作用的知识点。 static表示全局、静态的...

  • 【JAVA】Java中的static

    0x01 static的作用 static代表它修饰的那个东西是属于整个类的。 0x02 static的特点 st...

网友评论

      本文标题:Java中static关键词

      本文链接:https://www.haomeiwen.com/subject/cmpgtktx.html