Java编程:深入理解static关键字与类变量

需积分: 0 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`可以帮助我们优化内存使用,提高代码的复用性和效率。