如何在Java中修复非法启动表达式错误

时间:2020-02-23 14:34:24  来源:igfitidea点击:

在本教程中,我们将在Java中看到如何修复 “illegal start of expression"。

在命令提示符中使用javac命令时,我们将收到此错误。
在Eclipse或者任何其他IDE中,它将为我们提供更加有用的编译时间错误。

收到此错误可能有多种原因。

在方法内使用私有,公共或者受保护的修改器

我们可能知道我们无法在方法中使用私有,公共或者受保护的修改器。
如果我们使用它,我们将获得非法的表达式。

public class MyClass {
	public static void main(String[] args) {
		private int count=0;
	}
}

运行javac命令时,我们将得到以下错误。

$javac MyClass.java
/MyClass.java:4: error: illegal start of expression
private int count=0;
^
1 error

当我们在Eclipse IDE中使用相同的代码时,我们将得到以下错误。

Illegal modifier for parameter count; only final is permitted

如我们所见,Eclipse IDE提供了有关此错误的更好信息。

在方法内使用方法

我们可能知道我们无法在另一种方法内具有方法。
如果你把它放了,你会得到非法的表达开始。
实际上,它再次是由于公共静态修饰符

public class MyClass {
	public static void main(String[] args) {
		 public static int count()
		 {
			 return 0;
		 }
	}
}

运行javac命令时,我们将得到以下错误。

$javac MyClass.java
MyClass.java:4: error: illegal start of expression
public static int count()
^
MyClass.java:4: error: illegal start of expression
public static int count()
^
MyClass.java:4: error: ';' expected
public static int count()
^
MyClass.java:4: error: ';' expected
public static int count()
^
4 errors

忘了添加卷曲的括号

如果我们忘记添加卷曲括号,我们将再次收到此错误。

public class MyClass {
    public static void main(String args[]) {
    int count=0;
    
    public static void myMethod()
    {
        System.out.println("My method");
    }
}
$javac MyClass.java
/MyClass.java:6: error: illegal start of expression
public static void myMethod()
^
/MyClass.java:6: error: illegal start of expression
public static void myMethod()
^
/MyClass.java:6: error: ';' expected
public static void myMethod()
^
/MyClass.java:6: error: ';' expected
public static void myMethod()
^
/MyClass.java:10: error: reached end of file while parsing
}
^
5 errors

但是Eclipse IDE,你将得到以下错误。

Syntax error, insert “}" to complete MethodBody