我正在
“非法表达”
错误在以下代码中由注释标记的位置。如何更正此错误?
public static void main(String[] args) {
private int w=5; //Problem here"Illegal start of expression"//
private int Pw=0xb7e15163, Qw=0x9e3779b9;
private int[] S;
答案 0 :(得分:2)
private
关键字是什么?它是一个访问级别修饰符。
access level modifiers确定其他类是否可以使用特定字段或调用特定方法。因此,它将应用于类的成员 - 实例字段,实例方法。 在您的情况下,
public static void main(String[] args) {
// TODO code application logic here
private int w=5;
w
已在方法main
中声明和定义。 main
方法属于您的班级。因此,变量w
不符合成为该类的成员的条件。它是一个局部变量,其范围在main
方法中。因此,访问级别修饰符不能应用于已在方法w
中定义的变量main()
。这就是为什么你得到"非法开始表达" 的原因。在方法中,指定对变量的访问权在语法/语义上不正确。答案 1 :(得分:1)
private
变量具有访问修饰符,因为它们是实例字段。他们不在方法之外。您需要一个实例来使用它们,并且您通常需要访问器和更改方法(因为它们只有private
,只有这个class
可以访问它们;这样做包括main
) -
private int w=5;
private int Pw=0xb7e15163, Qw=0x9e3779b9;
private int[] S;
public static void main(String[] args) {
ThisClass tc = new ThisClass();
System.out.println(tc.w);
}