我有一个简单的类,只有一个main方法打印一些东西和一个包语句如下
package default;
public class Main
{
public static void main(String[] args)
{
System.out.printf("something\n");
}
}
我已将Main.java文件放入默认文件夹中,并尝试使用以下命令对其进行编译。
javac default/Main.java
问题是当我尝试编译类时,我会逐字地收到以下错误消息
default/Main.java:1: error: <identifier> expected
package default;
^
1 error
我真的很困惑。如果我把package语句拿出来或者把代码放到像eclipse这样的IDE中,那么错误就会消失,而且工作正常。我试过在互联网上搜索这个问题的答案,所有消息来源都说我正在做的事情应该有效。
我还试图通过包含类路径来修改几个Stack Overflow线程所推荐的编译语句,如下所示
javac -cp default default/Main.java
但错误信息保持不变。
我大学的一些同事建议在IDE之外使用软件包是不可能的,我的代码通过命令行编译的唯一方法是删除软件包语句,但这个答案似乎不对我
如果有人知道我为什么会遇到这个问题,我会非常感谢你的回复。我真的很想知道我做错了什么。
答案 0 :(得分:1)
“default”,是java中的关键字,不能将关键字用作包名或例如作为变量名。 default关键字属于switch语句:
switch(x){
case 1:
//do stuff if x is 1...
break;
default:
//do stuff if x is not any of the other cases
break;
}