谁能告诉我为什么会收到这个错误?
非法表达开始<
private int confirm;
以及
非法表达开始<
private File soundFile3 = new File("merge.wav");
如果我删除“private”一词,编译器不会显示任何错误。 代码是公共方法的一部分。 为什么呢?
谢谢。
代码是:
private int confirm;
confirm = JOptionPane.showConfirmDialog(this,
"Different sample size....",
"JOin", JOptionPane.OK_CANCEL_OPTION);
if (confirm != JOptionPane.OK_OPTION) {
return;
}
private File soundFile3 = new File("merge.wav");
答案 0 :(得分:5)
私有关键字不能在方法内使用。它可以用来声明类字段或方法:
class Foo {
private int num; //private can be specified here
public void foo() {
int s = 1;
int k = num+s; //no private here
}
}
答案 1 :(得分:3)
我猜你不能在方法中修改除final
之外的访问权限。为方法级变量设置私有修饰符是没有意义的。方法变量在其单独的堆栈中创建,并在范围丢失时销毁。
答案 2 :(得分:1)
您应该仅对类成员使用访问修饰符,而不是局部变量。
局部变量始终只在声明它们的块的范围内可见。因此,如果在方法中声明变量,则该变量仅在该方法中可见。所以,不需要在那里使用private
。我的意思是,即使你可以也不需要。