Java中static变量的初始化与面向对象理解
需积分: 12 177 浏览量
更新于2024-08-18
收藏 772KB PPT 举报
在Java面向对象编程中,"static变量的初始化"是一个关键概念,它涉及到类的静态成员和实例成员的理解。在Java中,静态变量(也称为类变量)与类关联,而不是与类的任何特定实例。当你在类中声明一个变量为static,它的生命周期贯穿于类的整个运行期间,无论创建了多少个类的实例。
在给定的示例中,`Smember`类有两个静态变量`i`和`b`,以及一个实例变量`c`。在传统的类定义中,如:
```java
class Smember {
static int i = 100;
static boolean b = true;
char c = 't';
public Smember() {}
public static void main(String args[]) {
Smember m1 = new Smember();
Smember m2 = new Smember();
}
}
```
静态变量`i`和`b`在类加载时就会被初始化为100和true,即使在`main`方法中创建了多个`Smember`对象(如`m1`和`m2`),它们共享同一份静态变量的副本,意味着对这些变量的修改会影响到所有对象。
另一种情况是,如果静态变量在类的内部有一个静态块(`static {...}`),例如:
```java
class Smember {
static int i;
static boolean b;
static {
i = 100;
b = true;
System.out.println("In static block");
}
char c = 't';
public Smember() { System.out.println("In constructor"); }
public static void main(String args[]) {
Smember m1 = new Smember();
Smember m2 = new Smember();
}
}
```
在这里,静态块会在类加载时执行一次,打印出"In static block",在构造函数`Smember()`执行前,确保了静态变量的初始化。这意味着每个对象在其创建时,会看到静态变量已经设置好初始值。
在面向对象编程的基本概念中,对象是核心概念之一,它是程序中的实体,代表现实世界中的某个事物。类是对象的蓝图,定义了一组属性(状态)和行为(方法)。封装性、继承性和多态性是面向对象的三大特性,封装保证了数据的安全性和可维护性,继承使得子类可以重用父类的代码,而多态则允许同一种行为表现出不同的形式。
理解这些概念对于编写高效、易于维护的Java程序至关重要。通过合理利用静态变量和面向对象特性,你可以创建出模块化的代码结构,使得程序逻辑更清晰,复用性更强。
2022-11-21 上传
2022-11-01 上传
2023-05-31 上传
2023-06-28 上传
2023-09-07 上传
2024-10-14 上传
2023-09-13 上传
2023-06-07 上传
2024-09-25 上传
雪蔻
- 粉丝: 27
- 资源: 2万+
最新资源
- 黑板风格计算机毕业答辩PPT模板下载
- CodeSandbox实现ListView快速创建指南
- Node.js脚本实现WXR文件到Postgres数据库帖子导入
- 清新简约创意三角毕业论文答辩PPT模板
- DISCORD-JS-CRUD:提升 Discord 机器人开发体验
- Node.js v4.3.2版本Linux ARM64平台运行时环境发布
- SQLight:C++11编写的轻量级MySQL客户端
- 计算机专业毕业论文答辩PPT模板
- Wireshark网络抓包工具的使用与数据包解析
- Wild Match Map: JavaScript中实现通配符映射与事件绑定
- 毕业答辩利器:蝶恋花毕业设计PPT模板
- Node.js深度解析:高性能Web服务器与实时应用构建
- 掌握深度图技术:游戏开发中的绚丽应用案例
- Dart语言的HTTP扩展包功能详解
- MoonMaker: 投资组合加固神器,助力$GME投资者登月
- 计算机毕业设计答辩PPT模板下载