为什么我不能写一个静态字符串?

18 浏览
0 Comments

为什么我不能写一个静态字符串?

这个问题已经有答案了:

在一个类中,\'static\'关键字有什么作用?

无法在静态方法中声明静态变量

import java.util.*;
public class HelloWorld{
   public static void main(String []args){
       static String[] str={"one","two"};
       Date date =new Date();
       Calendar cal = Calendar.getInstance();
       String year = "2018";
       String month ="4";
       int day =10;
       cal.set(Integer.parseInt(year),Integer.parseInt(month),day);
       System.out.println(cal.get(Calendar.DAY_OF_WEEK));
       // etc.
    }
}

错误信息:

错误:表达式的非法起始符

static String[] str={\"one\",\"two\"};

admin 更改状态以发布 2023年5月24日
0
0 Comments

一个类可以拥有静态成员,但是一个方法不能拥有静态变量。

你可以把static String[] str={"one","two"};移动到main(..)的声明之前,这样可以把它移动到类的范围内。

0
0 Comments

这是无效的语法。你不能把static关键字应用在局部变量上。去掉static

如果str是类变量,则将其声明在方法之外:

public class HelloWorld{
    static String[] str={"one","two"};

static是类型成员(接口、类、枚举等)的一个概念。它允许你使用类名直接引用变量,在这个例子中是 (HelloWorld.str)。当变量属于局部作用域,如在方法体中时,它不能声明为static,因为它不是类的成员。

0