我们可以在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
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP