前言
Java是一门功能强大且广泛应用的编程语言,具有跨平台性和高效的执行速度,广受开发者喜爱。在接下来的学习过程中,我将记录学习过程中的基础语法、框架和实践技巧等,分享学习心得,对自己学习过程进行整理和总结,也希望能为其他学习Java的朋友提供一些帮助和参考。
关键字:static
在Java中,实例变量(未被static
修饰的变量)是每个实例对象独有的,每个对象都有属于自己的一份实例变量。如果希望某个成员变量能够被类的所有实例共享,可以使用static
关键字进行修饰,这样的变量称为类变量。
static
关键字的主要作用是用于定义类级别的属性和方法。静态成员在类加载时就会被初始化,并且能够被所有实例共享。静态成员在需要共享资源、提高性能以及定义常量时非常有用。
静态变量
- 适用于需要被所有实例共享的变量,例如计数器、配置参数等。
/**
*每创建一个Counter对象,count都会增加,但这个值对所有Counter实例都是共享的。
**/
class Counter {
static int count = 0; // 静态变量,所有对象共享
Counter() {
count++;
}
}
静态方法
随着类的加载而加载,可以通过“类.静态方法”的方式,直接调用静态方法。
常用于工具类或不涉及实例数据的操作。
/**
*可以直接通过MathUtil.add(3, 5)调用,而不需要创建MathUtil的实例。
**/
class MathUtil {
static int add(int a, int b) {
return a + b;
}
}
-静态方法内可以调用静态的属性或者静态的方法,但不可以调用非静态的结构(如非静态的属性、方法 )
设置为静态的场景
- 判断当前类的多个实例是否能够共享此成员变量。
- 开发中常将一些常量声明为静态的
- 方法内操作的变量都是静态变量的话,就推荐将该方法声明为静态方法
- 开发中,常将工具中的方法,声明为静态方法