static 关键字

static 关键字

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

1.static关键字 特点:

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

在这里插入图片描述

2.注意事项

在静态的方法中,只能访问静态的内容(变量、方法),不能访问成员变量、或成员方法。
在这里插入图片描述
静态的方法中没有this关键字
在这里插入图片描述

3.内存结构

在这里插入图片描述

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

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

main方法是静态的:

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

工具类是静态的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值