当前位置: 首页 > news >正文

2023.9 - java - static 关键字

static关键字主要和Java的内存管理有关。我们可以将static关键字与变量,方法,代码块一起使用。static关键字属于该类,而不是该类的实例。

static关键字可以修饰:

  1. 变量(也称为类变量)
  2. 方法(也称为类方法)
  3. 代码块

 Java静态变量 :

如果将任何变量声明为static,则称为静态变量。

  • 静态变量可用于引用所有对象的公共属性(每个对象不是唯一的),例如,员工的公司名称,学生的大学名称等。
  • 静态变量在类加载时仅在类区域中分配一次内存。
  • 它使你的程序存储效率更高(通俗点说,就是节省内存)。
  • 静态变量仅仅分配一次内存,如果任何对象更改了静态变量的值,该值会影响所有对象。

     

Java静态方法 :

如果让任何方法加上static关键字,则称为static静态方法。

  • 静态方法属于类,而不是类的对象。
  • 可以使用类名称直接调用静态方法,而无需创建类的实例。
  • 静态方法可以直接访问静态数据成员并可以更改其值。

静态方法有两个主要限制:

  • 静态方法不能使用非静态数据成员或直接调用非静态方法。
  • this和super关键字不能在静态上下文中使用。

 

为什么main方法是静态的 :

如果main() 方法是非静态方法,则JVM首先创建一个对象,然后调用main() 方法,这将导致额外的内存分配问题。

可以执行没有main()方法的类吗 :

JDK1.6以前可以,但是JDK1.7以后不行JDK1.6及以前只要类中有静态块也可以执行该类,但是到了JDK 1.7及以后,没有main方法就不可能执行Java类了。

java 静态代码块 :

在Java中,静态代码块是一种特殊的代码块,它在类被加载时执行,且只执行一次。静态代码块通常用于在类加载时进行一些初始化工作,例如初始化静态成员变量或执行一些静态方法。静态代码块使用 static 关键字来定义,它不需要对象实例而是与类相关联。

  • main方法在类加载后被调用,即在静态代码块执行完毕后执行。

http://www.lryc.cn/news/149521.html

相关文章:

  • SpringCloud学习笔记(十二)_Zipkin全链路监控
  • Java 多线程系列Ⅱ(线程安全)
  • const用法详解
  • 【LeetCode75】第四十二题 删除二叉搜索数中的节点
  • c++:QT day2 信号和槽
  • 16 Linux之JavaEE定制篇-搭建JavaEE环境
  • AI人员打闹监测识别算法
  • 如何使用CRM系统进行精细化管理客户?
  • 20230829工作心得:如何把大List 切割为多个小List?
  • 基于YOLOV8模型的阶梯和工人目标检测系统(PyTorch+Pyside6+YOLOv8模型)
  • Nginx特性应用及载装
  • vue3+ts组件通信
  • 基于卷积优化算法优化的BP神经网络(预测应用) - 附代码
  • 《论文阅读18》JoKDNet
  • buuctf [CISCN 2019 初赛]Love Math
  • GraphQL渗透测试案例及防御办法
  • Hive SQL 优化大全(参数配置、语法优化)
  • go锁-waitgroup
  • 访问0xdddddddd内存地址引发软件崩溃的问题排查
  • Java从入门到精通-流程控制(一)
  • MybatisPlus(2)
  • iOS UITableView上拉加载解决偶然跳动的Bug
  • MySQL 外键使用详解
  • MongoDB实验——在MongoDB集合中查找文档
  • 事务的总结
  • [ROS]yolov5-7.0部署ROS
  • Java抽象方法、抽象类和接口——第七讲
  • kafka集群之kraft模式
  • 虹科案例 | 缆索挖掘机维护—小传感器,大作用!
  • Windows安装FFmpeg说明