我们可以在Java方法中声明静态变量吗?

静态文件/变量属于该类,它将与该类一起加载到内存中。您可以在不创建对象的情况下调用它们。(使用类名作为参考)。在整个类中只有一个静态字段的副本可用,即,静态字段的值在所有对象中都相同。您可以使用static关键字定义一个静态字段。

示例

public class Sample{

   static int num = 50;

   public void demo(){

      System.out.println("Value of num in the demo method "+ Sample.num);

   }

   public static void main(String args[]){

      System.out.println("Value of num in the main method "+ Sample.num);

      new Sample().demo();

   }

}

输出结果

Value of num in the main method 50

Value of num in the demo method 50

方法中的静态变量

方法中带有的变量是局部变量,它们的范围位于方法内,并且在方法执行后会被销毁。也就是说,您不能在当前方法之外使用与类/静态变量的定义相矛盾的局部变量。因此,在方法内部声明静态变量是没有意义的,如果仍然尝试这样做,则会生成编译时错误。

示例

在下面的Java程序中,我们试图在方法内部声明一个静态变量。

import java.io.IOException;

import java.util.Scanner;

public class Sample {

   static int num;

   public void sampleMethod(Scanner sc){

      static int num = 50;

   }

   public static void main(String args[]) throws IOException {

      static int num = 50;

   }

}

编译时错误

如果您尝试执行上述程序,则会产生以下错误-

Sample.java:6: error: illegal start of expression

   static int num = 50;

  ^

Sample.java:9: error: illegal start of expression

   static int num = 50;

^

2 errors

以上是 我们可以在Java方法中声明静态变量吗? 的全部内容, 来源链接: utcz.com/z/349038.html

回到顶部