Java基础之static的用法
1. static关键字的概述
在Java中,static是一个关键字,它可以用来修饰类的成员。当成员被static修饰时,它就变成了该类的静态成员,也即类级别的成员。静态成员不属于类的任何实例对象,而是与类本身相关联。在使用静态成员时,不需要通过实例对象来访问,可以通过类名直接调用。
2. static修饰变量的用法
2.1 静态变量
静态变量是被static修饰的类级别变量,它在整个类的生命周期内都只有一份拷贝,无论创建多少个类的实例对象,这些实例对象共享同一个静态变量。
示例1:
public class Example {
static int count = 0; // 静态变量
public Example() {
count++;
}
public static void main(String[] args) {
Example obj1 = new Example();
Example obj2 = new Example();
System.out.println(Example.count); // 输出结果为2
}
}
在上面的示例中,静态变量count被定义为Example类的静态成员变量。每次创建Example类的实例对象时,在构造方法里将静态变量count加1。由于静态变量在整个类的生命周期内只有一份拷贝,因此obj1和obj2共享同一个count,输出结果为2。
2.2 静态常量
静态常量是被static修饰的final变量,一旦赋值后就不可修改,并且在类的加载过程中就会被初始化。静态常量通常用于定义一些不可变的全局常量,可以通过类名直接访问。
示例2:
public class Circle {
static final double PI = 3.14; // 静态常量
public static void main(String[] args) {
System.out.println("圆的周长:" + (2 * Circle.PI)); // 输出结果为6.28
}
}
在上面的示例中,静态常量PI被定义为Circle类的静态成员常量。通过类名直接访问PI,在计算圆的周长时使用。
3. static修饰方法的用法
静态方法是被static修饰的类级别方法,它不依赖于任何实例对象,可以直接通过类名调用。静态方法只能访问类的静态成员,不能访问非静态成员。
示例3:
public class MathUtility {
static int sum(int a, int b) {
return a + b;
}
public static void main(String[] args) {
int result = MathUtility.sum(10, 20);
System.out.println("结果:" + result); // 输出结果为30
}
}
在上面的示例中,sum()方法被定义为MathUtility类的静态成员方法。通过类名直接调用sum()方法,计算两个数的和并返回结果。
4. 静态代码块的用法
静态代码块是被static修饰的一段代码块,它在类的加载过程中执行,并且只执行一次。静态代码块可以用来初始化静态成员变量或执行一些其他的静态操作。
示例4:
public class InitExample {
static int num;
static {
num = 10;
System.out.println("静态代码块执行");
}
public static void main(String[] args) {
System.out.println("num的值为:" + InitExample.num);
}
}
在上面的示例中,静态代码块中给静态变量num赋值,并在控制台打印一条信息。在main方法中通过类名访问静态变量num并输出其值。
以上就是Java中static关键字的用法的完整攻略。通过对static关键字的理解和使用,我们可以更好地理解类的成员和类之间的关系,更灵活地编写Java程序。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java基础之static的用法 - Python技术站