static 关键字讲解

其实这个 static关键字,表示静态的意思。它是一个修饰符,可以用来修饰类中的变量和方法。

1.static关键字 特点:

  • 随着类的加载而加载。
    • JVM运行一个Java程序的时候,它会先将 .class 文件中的信息加载到内存中。在这个时刻我们的静态修饰的成员已经在内存中被初始化了。
  • 它先于对象而存在的。
  • 被static修饰的这些方法或变量,其实并不属于某个对象,而是大家共享
    • 要不要加static,最关键的一条指标,是要不要共享。
  • static修饰的方法或变量,既可以通过类直接访问(推荐),也可以通过对象来访问(不推荐)

static 关键字讲解

2.注意事项

在静态的方法中,只能访问静态的内容(变量、方法),不能访问成员变量、或成员方法。
static 关键字讲解
静态的方法中没有this关键字
static 关键字讲解

3.内存结构

static 关键字讲解

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

  • 所属不同
    • 静态变量:属于类,它是一个类级变量
    • 成员变量:属于对象,它是对象级别的变量
  • 内存中的位置不同
    • 静态变量:存放于方法区的静态区
    • 成员变量:存放于堆内存
  • 内存中出现的时机不同
    • 静态变量:随着类加载而创建 , 随着JVM的退出而销毁。
    • 成员变量: 只有new对象的时候才会创建 , 随着对象的销毁而销毁。
  • 调用方式不同
    • 静态变量:既可以通过类名调用,也可以通过对象名调用
    • 成员变量:只可以通过对象名调用。

main方法是静态的:

​ 因为执行时,没有任何对象的创建。所以main方法必须是静态的。

工具类是静态的。

相关文章:

  • 2021-12-07
  • 2021-12-08
  • 2021-08-13
  • 2021-05-01
  • 2021-11-21
猜你喜欢
  • 2022-12-23
  • 2021-12-10
  • 2021-08-26
  • 2021-06-12
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案