繁体   English   中英

无法在Java中创建公共静态最终字符串

[英]Can't create a public static final String in java

这段代码:

public class CommandPrompt {
  public static void main(String[] args) {
    public static final String prompt = System.getProperty("user.name")+">";
      System.out.println(prompt);
    }
  }

返回此错误消息:

CommandPrompt.java:5: error: illegal start of expression
public static final String prompt = System.getProperty("user.name")+">";
^
CommandPrompt.java:5: error: illegal start of expression
public static final String prompt = System.getProperty("user.name")+">";
       ^
CommandPrompt.java:5: error: ';' expected
public static final String prompt = System.getProperty("user.name")+">";
             ^
3 errors

我以前看过public static final String ,为什么不能在这里使用它呢?

说明

您不能在方法内部使用publicstatic
两者都保留用于类属性: public访问修饰符static声明类范围的变量。

更正

public class CommandPrompt {
    public static void main(String[] args) {
      final String prompt = System.getProperty("user.name")+">";
      System.out.println(prompt);
    }
}

要么

public class CommandPrompt {
    public static final String prompt = System.getProperty("user.name")+">";

    public static void main(String[] args) {
      System.out.println(prompt);
    }
}

相关问题

您不能在方法内将变量声明为public变量或static变量。 删除它们或将其移出方法块以将其转换为field

静态变量不能在方法中声明。

应该在课堂上讲课。

请试试

public class CommandPrompt {

public static  String prompt;

public static void main(String[] args) {

prompt=System.getProperty("user.name")+">";

System.out.println(prompt);

}

}

这是因为您只能在类内部创建类级别的变量,而不必说,但是可以在方法之外:)

public class CommandPrompt {
 public static final String prompt = System.getProperty("user.name")+">";
 public static void main(String[] args) {
  System.out.println(prompt);
 }
}

这样的事情应该起作用。 有关更多信息,请参见本教程

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM