Java代码中的两个错误

Java代码中的两个错误,java,Java,上面的行正在生成错误“invlaid escape sequence”。所以我把它改成: private static final String fileAttachment= "D:\hai.txt"; 现在我收到错误“参数fileAttachment的非法修饰符” 那么如何修复这个错误呢 private static final String fileAttachment= "D:\\hai.txt"; 这可能是因为变量在任何函数中 如果是,则将其更改为: private static

上面的行正在生成错误“invlaid escape sequence”。所以我把它改成:

private static final String fileAttachment= "D:\hai.txt";
现在我收到错误“参数fileAttachment的非法修饰符”

那么如何修复这个错误呢

private static final String fileAttachment= "D:\\hai.txt";
这可能是因为变量在任何函数中

如果是,则将其更改为:

private static final String fileAttachment= "D:\\hai.txt";
方法中的变量仅存在于堆栈框架上。每次调用一个方法时,JVM都会创建一个新的堆栈帧,一旦该方法完成,它就会被丢弃


或者最好在类级别移动所有常量。请参见Java文档

您必须在任何方法之外进行定义。这就是为什么它会给出这个例外<代码>私有修饰符仅允许在类级别使用。

如果在类级别定义变量,则第二个选项将起作用。即:

final String fileAttachment= "D:\\hai.txt";
但如果在方法级别定义相同的变量(局部变量),则必须删除变量的修饰符和访问说明符。 作为:


因为局部变量可以有
final
修饰符而不是其他修饰符。

第二个示例不应该也不会抛出错误?编辑:你是如何使用这个参数的?我不认为在第二行上面会有任何错误?显示您的代码和编译器正在抱怨的确切错误行。看起来您在methode中使用参数,从它所说的,但我得到了错误。fileAttachment参数在main方法中声明。
private static final String fileAttachment= "D:\\hai.txt";
final String fileAttachment= "D:\\hai.txt";