【Java大数据】static关键字

static(静态)

功能:修饰符
修饰变量、方法、代码块、内部类
静态变量:
1、静态变量是随着类的加载(方法区的静态常量池)而加载到方法区的静态区,与类同级,也叫类变量,通过类名.形式来调用静态变量,也可以通过对象来调用静态变量。
2、存储在方法区的静态区时,会默认给静态变量赋予系统默认初始值。
3、类产生的对象共享同一个静态变量。
4、看变量是否需要被所有的对象来共享,如果需要共享就设置成静态变量。
5、方法里可以定义静态变量?静态变量与类同级,只有方法被调用时里面的内容才能出现,前后矛盾,不能定义
6、构造方法也不能定义静态变量
在这里插入图片描述
在这里插入图片描述
内存图:
在这里插入图片描述
静态方法
1、静态方法会随着类的加载而加载到方法区的静态区,与类同级也叫类方法,通过类名.形式来调用,也可以通过对象调用。
2、静态区不会对静态方法赋予初始化值但是被调用就会被加载到栈中进行。
3、Java中静态方法只能直接使用静态信息,但是非静态方法可以直接使用静态以及非静态信息
在这里插入图片描述
4、静态方法支持重载?支持重载
5、静态方法支持重写?不支持重写。静态方法与类同级,重写针对的是对象一样,静态方法没有提供重写。父子类中只能出现方法签名一致的非静态方法(有重写)要么都是静态方法(没有重写)。
静态方法:Arrays.sort() Arrays.copyOf()
System.arraycopy() Arrays.toString()
在这里插入图片描述
静态代码块
1、可以给静态变量进行初始化
2、预先加载资源
3、随着类的加载而加载,只加载一次
4、static修饰的静态信息都只加载一次
5、父子类执行顺序(父类静态信息–子类静态信息–父类对象级别信息–子类对象级别信息)
在这里插入图片描述
6、成员变量和构造代码块一个级别,谁在前谁先执行
在这里插入图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值