静态变量:使用关键字“ static”声明的变量,也称为类变量。它们在构造函数内部或类函数外部定义。当变量是静态的时,该变量将在该类的所有对象之间共享,而与创建的对象数量无关。
static关键字与变量一起使用时的工作方式 -
示例public class Demo{
String name;
static String designation;
public void display_data(){
System.out.println("名称: " + name);
System.out.println("该小组成员的名称为 : " + designation);
}
public static void main(String s[]){
Demo.designation = "Intern";
Demo my_obj = new Demo();
my_obj.name = "Joe";
Demo my_obj_2 = new Demo();
my_obj_2.name = "Joanna";
my_obj.display_data();
my_obj_2.display_data();
my_obj.designation = "Senior dev";
System.out.println("\n更改后,数据为 :\n");
my_obj.display_data();
my_obj_2.display_data();
}
}
输出结果名称: Joe
该小组成员的名称为 : Intern
名称: Joanna
该小组成员的名称为 : Intern
更改后,数据为 :
名称: Joe
该小组成员的名称为 : Senior dev
名称: Joanna
该小组成员的名称为 : Senior dev
名为Demo的类包含变量和用于显示类变量的名为display_data的函数。在main函数中,创建类的一个实例,并为对象变量分配一个名称和指定。它会被显示出来,然后创建另一个对象,同样的操作也会完成。数据显示在控制台上。这些变化反映在这里。
静态final空白变量 - 与空白final变量以及关键字static的定义相同,这意味着只能在静态代码块中对其进行初始化。
空白final变量 - 顾名思义,没有赋值给它的final变量称为空白final变量。它只能在构造函数中初始化,如果不初始化空白的final变量将导致编译错误。
空白final变量的工作方式 -
示例public class Demo{
private static final int val_1;
private final int val_2;
static{ val_1 = 1;
}
Demo(int val_3){
val_2 = val_3;
}
public static void main(String s[]){
Demo obj_1 = new Demo(95);
Demo obj_2 = new Demo(99);
System.out.println("第一个变量的值为 : ");
System.out.println(Demo.val_1);
System.out.println("使用对象访问的第一个变量的值 : ");
System.out.println(obj_1.val_2);
}
}
输出结果第一个变量的值为 :
1
使用对象访问的第一个变量的值 :
95
一个名为Demo的类包含变量和一个名为“ Demo”的构造函数,该构造函数用于将一个值分配给另一个类变量。在main函数中,将创建该类的两个实例,并将其值显示在控制台上。