Java类属性与程序设计
需积分: 0 40 浏览量
更新于2024-07-13
收藏 3.71MB PPT 举报
"Java编程与类属性应用实例"
在Java编程中,类属性扮演着重要的角色。本示例中,`Person` 类有两个属性:一个私有实例变量 `id` 和一个公共静态变量 `total`。`id` 用于表示每个 `Person` 对象的唯一标识,而 `total` 则记录创建的 `Person` 对象的总数。
`private int id;` - 私有属性 `id` 只能在 `Person` 类内部访问,确保数据的安全性。通过使用私有属性,我们可以防止外部代码直接修改 `id` 的值。
`public static int total = 0;` - 静态属性 `total` 是所有 `Person` 实例共享的。它不是每个对象独有的,而是类级别的。在这里,`total` 被用作计数器,每次创建新的 `Person` 对象时自动递增。
在 `Person` 的构造函数中:
```java
public Person() {
total++;
id = total;
}
```
构造函数在创建新对象时自动调用。这里,我们既增加了 `total` 的值,又将 `id` 设置为当前的 `total` 值,从而使得每个新创建的 `Person` 对象的 `id` 都是唯一的。
在 `OtherClass` 的 `main` 方法中,展示了如何直接访问和修改静态属性 `total`:
```java
Person.total = 100;
System.out.println(Person.total);
Person c = new Person();
System.out.println(Person.total);
```
这里,`total` 的值被设置为100,然后创建了一个新的 `Person` 对象,导致 `total` 自动增加1。这表明静态变量不受实例化的影响,而实例变量(如 `id`)是对象特有的。
课程目标旨在为学员提供Java应用程序设计所需的知识和技能,涵盖Java语言基础、面向对象编程、异常处理以及GUI应用程序设计等。课程内容包括:
1. **Java语言编程基础**:涉及标识符、关键字、类型、运算符、表达式和程序流程控制,以及数组的使用。
2. **面向对象编程**:讲解类的设计、高级类特性,如封装、继承和多态。
3. **Java异常处理**:如何在程序中捕获和处理错误情况。
4. **基于文本的Java应用程序**:编写控制台交互式的程序。
5. **JavaGUI应用程序**:学习如何创建图形用户界面,利用Java Swing或JavaFX库。
此外,课程还涵盖了Java技术的核心特性,如Java虚拟机(JVM)、垃圾收集机制和代码安全性。Java程序经过编译后生成平台无关的字节码,由JVM执行,实现跨平台运行。JVM的组成部分包括指令集、寄存器集、类文件结构、堆栈、垃圾收集堆和内存区域。垃圾收集自动回收不再使用的对象,以避免内存泄漏。而代码安全性检查则确保Java代码在执行时不会对系统造成威胁。
200 浏览量
2023-04-06 上传
2014-08-20 上传
112 浏览量
171 浏览量
2024-10-28 上传
2024-10-12 上传
173 浏览量
248 浏览量
深夜冒泡
- 粉丝: 19
- 资源: 2万+
最新资源
- Ufrayd
- cstore_fdw:由Citus Data开发的用于使用Postgres进行分析的列式存储。 在https:groups.google.comforum#!forumcstore-users上查看邮件列表,或在https:slack.citusdata.com加入我们的Slack频道。
- 正则化算法
- monaco-powershell:VSCode的Monaco编辑器+ PowerShell编辑器服务!
- ASP网上购书管理系统(源代码+论文).zip
- node-provider-service
- Gradle插件可将APK发布到Google Play-Android开发
- Uecker
- 阿里云机器学习PAI-DSW入门指南.zip
- Cardboard-Viewer:主要使用Three.js,我为Google Cardboard耳机创建了一个陀螺移动VR查看器,以查看我在克利夫兰地区使用Panono 360相机拍摄的360°全景照片和风景。 刷新页面从总共6张照片中选择一张随机照片。 要查看该应用程序,请单击链接:
- Jwg3full.github.io
- 简单的C++串口示例
- 高斯白噪声matlab代码-SPA_for_LDPC:此存储库是关于LDPC(又名低密度奇偶校验)代码的和积算法在二进制对称信道,二进制擦除信
- C/C++:二叉排序树.rar(含完整注释)
- U27fog
- godotenv:Ruby的dotenv库的Go端口(从`.env`加载环境变量。)