介绍一下static关键字

在Java中,被static修饰的成员称为静态成员,static关键字可以用来修饰方法或者成员变量,且被static修饰的方法或者成员变量属于类方法或者类属性,也就是说被static修饰的方法或者成员变量不是单独存储在某一个对象的空间,是被所有该类的所有实例化对象共享的,最好的证明方式就是静态成员变量既可以通过对象来访问,也可以通过类名来访问,一般更推荐后者

其次,对于静态成员变量来说,静态成员变量是在类加载时就被分配内存的,它是存储在JVM中的方法区中

接着针对静态方法来说,在静态方法中不能访问非静态成员变量,且在静态方法中不能访问非静态方法,因为在静态方法中没有this引用

然后就是被static修饰的方法无法实现被重写,不能用来实现多态

还有就是静态成员变量是可以通过静态代码快来进行初始化,而静态代码块是在类加载时初始化的,且只会加载一次,且静态代码快加载的优先级是高于实例代码快的优先级的

最后一个就是在静态内部类中只能访问外部类的静态成员方法或者静态成员变量

相关推荐
Leo655351 小时前
JDK8 的排序、分组求和,转换为Map
java·开发语言
书源丶4 小时前
二十八、API之《System 类》——与系统交互的“桥梁”
java·交互
Pluchon4 小时前
硅基计划4.0 算法 字符串
java·数据结构·学习·算法
野生技术架构师4 小时前
1000 道 Java 架构师岗面试题
java·开发语言
青柠编程4 小时前
基于Spring Boot的选课管理系统架构设计
java·spring boot·后端
Mr.wangh4 小时前
Redis主从复制
java·数据库·redis
Porunarufu4 小时前
JAVA·顺序逻辑控制
java·开发语言
1710orange5 小时前
java设计模式:适配器模式
java·设计模式·适配器模式
RainbowSea5 小时前
9. Spring AI 当中对应 MCP 的操作
java·spring·ai编程
RainbowSea6 小时前
10. Spring AI + RAG
java·spring·ai编程