java中 static 关键词
在Java中,static是一个关键字,可以用于变量、方法和代码块上。
1. 静态变量(static variable)
静态变量是被声明为static的变量。它属于类,而不是属于任何一个对象的。因此,无论创建了多少个类的对象,静态变量只有一份拷贝,所有对象共享同一个静态变量。静态变量可以通过"类名.变量名"的方式访问。
2. 静态方法(static method)
静态方法是被声明为static的方法。同样地,它属于类,而不是属于任何一个对象的。因此,静态方法不能访问非静态成员(如实例变量、实例方法等),而只能访问静态成员(如静态变量、静态方法等)。
3. 静态代码块(static block)
静态代码块是被声明为static的代码块。它会在类被加载时执行,且只会执行一次。通常在静态代码块中进行一些初始化操作。
使用static的注意事项:
-
static变量通常使用大写字母表示,以便与普通变量区分开来。
-
静态方法不能被重写(override),因为它们属于类而不是属于任何一个对象的。
-
静态变量和静态方法都可以通过"类名.变量名"或"类名.方法名"的方式访问,而不需要创建任何对象。
-
静态成员的生命周期与类的生命周期相同,因此它们会在类被卸载时销毁。
-
在多线程环境下,对静态变量的访问必须进行同步处理,否则可能会出现线程安全问题。
class MyClass{
static int x = 10;
int y = 20;
static void myStaticMethod(){
System.out.println("调用了静态方法!");
}
}
public class HelloWorld {
public static void main(String[] args) {
System.out.println(MyClass.x);
//System.out.println(MyClass.y);//无法从静态上下文中引用非静态 变量 y
MyClass.myStaticMethod();
}
}
相信坚持的力量,日复一日的习惯.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
· 为什么 退出登录 或 修改密码 无法使 token 失效