In Java, the class interface or enum expected error is a compile-time error. There can be one of the following reasons we get “class, interface, or enum expected” error in Java:
Case 1: Extra curly Bracket
class Hello {
public static void main(String[] args)
{
System.out.println( "Helloworld" );
}
} } // extra bracket.
|
In this case, the error can be removed by simply removing the extra bracket.
class Hello {
public static void main(String[] args)
{
System.out.println( "Helloworld" );
}
} |
Case 2: Function outside the class
class Hello {
public static void main(String args[])
{
System.out.println( "HI" );
}
} public static void func() { System.out.println( "Hello" ); }
|
In the earlier example, we get an error because the method func() is outside the Hello class. It can be removed by moving the closing curly braces “}” to the end of the file. In other words, move the func() method inside of Hello.
class Hello {
public static void main(String args[])
{
System.out.println( "HI" );
}
public static void func()
{
System.out.println( "Hello" );
}
} |
Case 3: Forgot to declare class at all
There might be a chance that we forgot to declare class at all. We will get this error. Check if you have declared class, interface, or enum in your java file or not.
Case 4: Declaring more than one package in the same file
package A;
class A {
void fun1() { System.out.println( "Hello" ); }
} package B; //getting class interface or enum expected
public class B {
public static void main(String[] args)
{
System.out.println( "HI" );
}
} |
We can not put different packages into the same source file. In the source file, the package statement should be the first line.
package A;
class A {
void fun1() { System.out.println( "Hello" ); }
} public class B {
public static void main(String[] args)
{
System.out.println( "HI" );
}
} |