无法在java中创建公共静态final String(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 ,为什么我不能在这里使用它?
This code:
public class CommandPrompt { public static void main(String[] args) { public static final String prompt = System.getProperty("user.name")+">"; System.out.println(prompt); } }Returns this error message:
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 errorsI have seen public static final String been used before, why can't I use it here?
最满意答案
说明
您不能在方法中使用public和static 。 两者都保留用于类属性: 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); } }相关问题
如何在main方法中声明一个静态变量?Explanation
You can't use public and static inside a method. Both are reserved for class attributes: public is an access modifier and static declares a class scoped variable.
Correction
public class CommandPrompt { public static void main(String[] args) { final String prompt = System.getProperty("user.name")+">"; System.out.println(prompt); } }or
public class CommandPrompt { public static final String prompt = System.getProperty("user.name")+">"; public static void main(String[] args) { System.out.println(prompt); } }Related question
How do I declare a static variable inside the main method ?更多推荐
发布评论