当前位置: 首页 > 知识库问答 >
问题:

为什么我不能写一个静态字符串?[重复]

柳轶
2023-03-14
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.
    }
}

错误消息:

错误:表达式的开头非法

静态字符串[]str={“一”,“二”};

共有3个答案

养翔
2023-03-14

有几种变量:

  • 类中的成员变量-这些被称为字段。
  • 方法或代码块中的变量-这些称为局部变量。
  • 方法声明中的变量-这些称为参数。

局部变量不能是静态的,只有字段可以是静态的。静态字段不属于任何实例,它们属于类。

在这种情况下,可以将String[]str设置为类成员:

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

public static void main(String []args){
    // use str
} 
吴浩皛
2023-03-14

类可以有静态成员,但方法中不能有静态变量。

你可以移动你的静态字符串[]str={“一”,“二”} 高于您对<代码>主(…)的申报 将其移动到类的范围内。

充小云
2023-03-14

这是无效的语法。您不会将静态修饰符应用于局部变量。删除静态

如果str是一个类变量,那么在方法之外声明它:

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

静态是类型(接口、类、枚举等)成员的概念。它允许您仅使用类名引用变量,在本例中(HelloWorld.str)。当变量属于局部作用域时(如在方法体中),不能将其声明为静态,因为它不是类的成员。

 类似资料: