Java编程:深入理解static关键字与类变量
需积分: 0 60 浏览量
更新于2024-08-13
收藏 1.21MB PPT 举报
"Java编程中的类变量与static关键字"
在Java编程中,`static`关键字是用来修饰类变量和类方法的,它具有重要的作用。在类的声明中,如果一个变量前面加上`static`,那么这个变量就成为类变量,而不是实例变量。类变量是所有该类对象共享的,也就是说,无论创建多少个类的对象,类变量只有一份存储空间,所有对象都能访问到这一份变量。
在给定的描述中,我们看到一个例子:
```java
class A {
int a = 9;
static int b = 12;
void f() {
a = 12;
// ...
}
}
```
在这个例子中,`a`是一个实例变量,每个`A`类的对象都有自己的`a`副本,而`b`是一个类变量,所有`A`类的对象共享同一个`b`。当我们通过类名来访问`b`时,如`A.b`,我们可以获取或修改`b`的值,而不会影响到任何特定对象的`b`值。
3.1.5 变量修饰符部分讨论了如何使用`static`修饰符。类变量可以通过类名直接访问,而无需创建类的实例。这意味着即使没有对象存在,也可以调用`static`修饰的方法或访问`static`修饰的变量。例如:
```java
A a1 = new A();
A a2 = new A();
System.out.println(a1.b + a2.b); // 输出类变量b的总和,因为它们共享同一份存储
System.out.println(A.b + a1.b); // 类名A可以直接访问类变量b
```
这里展示了类变量可以由类引用或对象引用,它们之间的关系是独立于实例存在的。另一方面,非`static`变量(实例变量)只能通过对象引用访问,因为它们与特定的对象实例关联。
在Java中,类和对象是核心概念。类是对象的蓝图,定义了数据(变量)和操作这些数据的行为(方法)。对象是类的实例,它们有自己的变量副本。创建对象使用`new`关键字,例如`Rect rect1 = new Rect();`。
`Rect`类的例子展示了如何定义一个包含两个实例变量`sideA`和`sideB`的矩形类,以及两个计算面积和周长的方法。`Rect rect1 = new Rect(10, 20);`会创建一个矩形对象,其长为10,宽为20。
关于继承,Java支持单一继承,即一个子类只能直接继承一个父类,但可以间接继承多个父类(通过多层继承)。子类继承了父类的公共和受保护的变量及方法,但不继承私有的变量和方法。所有的Java类都间接继承自`java.lang.Object`类,这是所有类的根。
课堂思考题目1要求使用`static`关键字创建类变量,并在执行主类中输出类变量的值。这涉及到对类变量的理解和使用,以及如何通过类名直接访问这些变量。
理解`static`关键字的用法对于Java编程至关重要,它涉及到类变量的共享、静态方法的调用以及继承中的变量和方法访问规则。在实际编程中,合理使用`static`可以帮助我们优化内存使用,提高代码的复用性和效率。
2008-10-18 上传
2022-11-20 上传
2013-05-27 上传
2021-10-07 上传
2008-12-24 上传
2022-11-23 上传
2023-07-30 上传
2022-11-15 上传
2021-12-04 上传
getsentry
- 粉丝: 26
- 资源: 2万+
最新资源
- AA4MM开源软件:多建模与模拟耦合工具介绍
- Swagger实时生成器的探索与应用
- Swagger UI:Trunkit API 文档生成与交互指南
- 粉红色留言表单网页模板,简洁美观的HTML模板下载
- OWIN中间件集成BioID OAuth 2.0客户端指南
- 响应式黑色博客CSS模板及前端源码介绍
- Eclipse下使用AVR Dragon调试Arduino Uno ATmega328P项目
- UrlPerf-开源:简明性能测试器
- ConEmuPack 190623:Windows下的Linux Terminator式分屏工具
- 安卓系统工具:易语言开发的卸载预装软件工具更新
- Node.js 示例库:概念证明、测试与演示
- Wi-Fi红外发射器:NodeMCU版Alexa控制与实时反馈
- 易语言实现高效大文件字符串替换方法
- MATLAB光学仿真分析:波的干涉现象深入研究
- stdError中间件:简化服务器错误处理的工具
- Ruby环境下的Dynamiq客户端使用指南