Java面向对象编程:类变量与实例变量详解及静态块应用
版权申诉
53 浏览量
更新于2024-06-28
收藏 79KB DOCX 举报
在Java语言程序设计的第三章《面向对象编程基础》补充中,我们主要探讨了类变量、实例变量、构造方法以及静态块的概念。这些概念是面向对象编程的核心组成部分。
1. **类变量与实例变量**:
- 类变量(static):`public static int staticVar = 0;` 是一个属于类本身的变量,它在整个类的生命周期中只有一份副本,且在类加载时就进行初始化。例如,当你看到`staticVar = 1; instanceVar = 1;` 的输出,说明静态变量在构造方法执行时被初始化,并且每次类的实例化过程中,静态变量值递增。
- 实例变量(non-static):`public int instanceVar = 0;` 每个类的实例都有自己独立的副本,这意味着每个对象创建时都会初始化。如`instanceVar = 1`表示在第一个对象的构造方法中被初始化。
2. **构造方法**:
构造方法(constructor)用于初始化对象。在这个例子中,`public 类变量与实例变量()` 定义了一个构造方法,它会自动在创建类的新实例时执行。每次调用构造方法时,静态变量`staticVar`递增,实例变量`instanceVar`也增加,而`sum`属性也会累加。
3. **静态块与类的生命周期**:
静态块(static block)是包含在类中的代码段,它在类首次加载时执行。在提供的代码片段中,静态块`class Value { ... }`包含了变量`c`和`d`的声明,这些变量是静态的,因此在类初次加载时分配内存。
4. **对象的生命周期和访问权限**:
- 对象(如`v1`)创建时,非静态内部类可以通过外部类的对象名访问,比如`ct1.v.c`和`ct2.v.d`。这表明外部类可以操作其内部类的状态。
- 对于静态内部类(如`Count`),可以直接通过外部类名访问,如`Count.v1.c`和`Count.v1.d`,这是由于静态内部类是类的一部分,不受特定对象实例的影响。
- 调用类方法的方式有两种:通过对象实例(如`v1.inc()`)或通过类名(如`Value.inc()`),这展示了面向对象的多态性,方法的调用可以根据上下文的不同灵活切换。
总结来说,这一部分深入讲解了Java面向对象编程中的基础概念,包括类变量、实例变量、构造方法和静态块,以及对象的生命周期和访问规则。理解这些概念有助于程序员编写高效、可维护的Java代码。
2020-05-11 上传
2023-05-30 上传
2022-07-12 上传
2023-02-24 上传
2023-06-10 上传
2023-05-30 上传
2023-09-04 上传
2024-10-09 上传
2023-03-20 上传
คิดถึง643
- 粉丝: 4005
- 资源: 1万+
最新资源
- JDK 17 Linux版本压缩包解压与安装指南
- C++/Qt飞行模拟器教员控制台系统源码发布
- TensorFlow深度学习实践:CNN在MNIST数据集上的应用
- 鸿蒙驱动HCIA资料整理-培训教材与开发者指南
- 凯撒Java版SaaS OA协同办公软件v2.0特性解析
- AutoCAD二次开发中文指南下载 - C#编程深入解析
- C语言冒泡排序算法实现详解
- Pointofix截屏:轻松实现高效截图体验
- Matlab实现SVM数据分类与预测教程
- 基于JSP+SQL的网站流量统计管理系统设计与实现
- C语言实现删除字符中重复项的方法与技巧
- e-sqlcipher.dll动态链接库的作用与应用
- 浙江工业大学自考网站开发与继续教育官网模板设计
- STM32 103C8T6 OLED 显示程序实现指南
- 高效压缩技术:删除重复字符压缩包
- JSP+SQL智能交通管理系统:违章处理与交通效率提升