Java 中的静态和非静态空白 final 变量


静态变量:使用关键字“static”声明,也称为类变量。它们在构造函数内或类函数外部定义。当变量是静态时,它在类的所有对象之间共享,无论创建了多少个对象。

演示在变量中使用“static”关键字的工作方式

示例

 实时演示

public class Demo{
   String name;
   static String designation;
   public void display_data(){
      System.out.println("The name is: " + name);
      System.out.println("The designation of this team members is : " + 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("\nAfter the changes, the data is :\n");
      my_obj.display_data();
      my_obj_2.display_data();
   }
}

输出

The name is: Joe
The designation of this team members is : Intern
The name is: Joanna
The designation of this team members is : Intern
After the changes, the data is :
The name is: Joe
The designation of this team members is : Senior dev
The name is: Joanna
The designation of this team members is : Senior dev

名为 Demo 的类包含变量和一个名为“display_data”的函数,用于显示类变量。在主函数中,创建类的实例并将名称和职位分配给对象变量。它被显示,然后创建另一个对象并执行相同的操作。数据显示在控制台上。更改反映在这里。

静态 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("The value of first variable is : ");
      System.out.println(Demo.val_1);
      System.out.println("The value of first variable accessed using the object : ");
      System.out.println(obj_1.val_2);
   }
}

输出

The value of first variable is :
1
The value of first variable accessed using the object :
95

名为 Demo 的类包含变量和一个名为“Demo”的构造函数,用于将一个值分配给另一个类变量。在主函数中,创建类的两个实例并在控制台上显示其值。

更新于: 2020年7月8日

1K+ 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告