static:静态的
1.可以修饰 属性、方法、代码块、内部类
2.使用static修饰属性:静态变量(类变量)
2.1 属性:是否使用static修饰,又分为:静态属性 和 非静态属性 (实例变量)
实例变量:我们创建了类的多个对象,每个对象都独立拥有一套类中的非静态属性,当修改其中一个对象的非静态属性时,不会导致其他对象的非静态变量的修改
静态属性:静态属性是多个对象共享的,当某个对象修改静态变量时,会导致其他对象调用此静态变量时,是修改过之后的属性.
2.2 static修饰属性的说明:
① 静态变量随着类的加载而加载
静态变量的加载要早于对象的创建.
② 由于类只会加载一次,所以静态变量也只对加载一次,储存在方法区的静态域中
1 public class static1 { 2 public static void main(String[] args) { 3 4 中国人.nation = "汉族"; //可以在实例化对象之前对类中的静态变量进行赋值. 5 6 中国人 c = new 中国人(); 7 c.name = "qqman"; 8 c.age = 22; 9 10 11 中国人 c1 = new 中国人(); 12 c1.name = "u+1"; 13 c1.age = 22; 14 } 15 16 } 17 18 19 20 class 中国人{ 21 String name; 22 int age; 23 static String nation; 24 }
内存解析:

3.static修饰方法:
从生命周期考虑:
静态方法中,不能调用非静态的结构(属性、方法等) 可以调用静态的结构
4.注意点:
4.1 在静态方法内,不能使用this super关键字
4.2 关于静态属性和方法的使用,大家都从生命周期的角度去理解.
5.使用场合:
属性:
可以被多个对象共享的属性,不会随着对象的不同而不同的时候,一般使用static属性
方法:
定义Utility工具类的时候一般使用static方法,此时不需要造具体对象
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异