介绍一下static关键字

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

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

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

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

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

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

相关推荐
西西学代码10 小时前
Flutter---类
java·开发语言
码农小卡拉10 小时前
Java多线程:CompletableFuture使用详解(超详细)
java·开发语言·spring boot·python·spring·spring cloud
I'm Jie10 小时前
Gradle 多模块依赖集中管理方案,Version Catalogs 详解(Kotlin DSL)
android·java·spring boot·kotlin·gradle·maven
Java小白笔记10 小时前
BigDecimal用法示例
java·开发语言·spring boot
程序员阿鹏11 小时前
OOM是如何解决的?
java·开发语言·jvm·spring
宠..11 小时前
创建单选按钮控件
java·服务器·数据库
SimonKing11 小时前
JetBrains 重大变革:IDEA 2025.3 统一发行版发布,告别选择困难
java·后端·程序员
网安_秋刀鱼11 小时前
【java安全】shiro反序列化1(shiro550)
java·开发语言·安全·web安全·网络安全·1024程序员节
降临-max11 小时前
JavaWeb企业级开发---快速入门、请求响应、分层解耦
java·开发语言·笔记·学习
jiayong2311 小时前
Arthas 完全指南:原理与实战
java·spring·arthas