第八节:static静态

static静态
在这里插入图片描述
有多少人就要改多少次

静态的内容在内存中是保留一份的,并且各个对象之间进行共享
在这里插入图片描述
使用p1.country=“民国”,不推荐这样使用静态变量
推荐使用类名去访问静态的内容
特点:
1.数据共享
2.属于类的,并不属于对象
3.优先于对象产生的

通用构造器,静态构造器
在这里插入图片描述
创建对象的过程(简单):
1.静态构造器
2.通用构造器
3.构造方法->创建对象

由于创建对象的过程是在静态内容加载完成之后,在静态方法和静态块里不能使用this.
在这里插入图片描述
静态的内容使用类名去访问
(自主学习,侵权可删)

### Static 关键字的作用与使用场景 `static` 是一种修饰符,在多种编程语言中具有特定的功能和意义。以下是 `static` 的主要作用及其常见应用场景: #### 1. 静态变量 当在类中定义静态变量时,该变量属于整个类而不是某个具体实例对象。这意味着无论创建多少个类的对象,这个静态变量都只有一份副本[^1]。 ```java class Counter { static int count = 0; // 定义了一个静态变量count public Counter() { count++; // 每次创建新对象都会增加计数器的值 } } ``` 上述代码展示了如何利用静态变量来跟踪已创建对象的数量[^2]。 #### 2. 静态方法 通过将方法声明为 `static` ,可以无需实例化即可调用这些方法。这通常用于工具函数或者那些不依赖于任何实例状态的操作上[^3]。 ```java public class MathUtils { public static int add(int a, int b){ return a + b; } } // 调用方式如下: int result = MathUtils.add(5, 7); ``` 这里展示的是一个简单的加法功能实现,并且可以直接通过类名访问而不需要先建立MathUtils类型的实体[^4]。 #### 3. 静态导入 某些现代语言支持从其他模块或库中静态地引入成员(如Java中的静态导入)。这样做的好处是可以简化语法并使程序更简洁易读[^5]。 ```java import static java.lang.Math.*; double sqrtValue = sqrt(9); // 不需前缀Math. ``` 此片段说明了怎样借助静态导入减少重复书写相同命名空间的情况[^6]。 #### 4. 静态内部类 如果在一个外部类里嵌套另一个非独立存在的子类别,则可将其标记成`static`形式以便单独加载而不必关联到外层主体之上[^7]。 ```java public class OuterClass { static class NestedStaticClass { /*...*/ } } ``` 这种结构允许我们像对待普通顶级级别组件那样处理此类附属单元[^8]。 #### 总结 综上所述,`static` 主要用来表示某事物在整个应用程序生命周期期间保持不变或者是共享性质的内容;它有助于优化内存消耗以及提升执行效率的同时还提供了更加灵活的设计选项给开发者们去构建他们的软件系统架构模型[^9]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值