18

What does this error mean?

The nested type HelloWorld cannot hide an enclosing type

Where HelloWorld is the java file name. Here's the code if you need it:

import net.java.games.jogl.*;
public class HelloWorld
{ // open HelloWorld

    public class HelloWorld
    { // open HelloWorld

        public static void main (String args[])
        { // open main
            try
            { // open try
                System.loadLibrary("jogl");
                System.out.println("Hello World! (The native libraries are installed.)");
            } // close try
            catch (Exception e) // all try's need a catch
            { } // even if the catch does nothing
        } // close main

    } // close HelloWorld

);
Oldskool
  • 34,211
  • 7
  • 53
  • 66
user1204570
  • 209
  • 1
  • 3
  • 7

5 Answers5

25

You have defined the HelloWorld class twice. Remove one level and you should be fine.

glose
  • 507
  • 4
  • 12
4

You're declaring the HelloWorld class twice.

alan
  • 870
  • 7
  • 24
2

You need to delete one of the duplicated classes:

public class HelloWorld { // open HelloWorld

public class HelloWorld
{ // open HelloWorld
Eyal Sooliman
  • 1,876
  • 23
  • 29
2

Just delete one of your declarations for public class HelloWorld; you're using it twice, only one is required.

purpleladydragons
  • 1,305
  • 3
  • 12
  • 28
1
       import net.java.games.jogl.*; 
public class HelloWorld { 
    // open HelloWorld      
    public class HelloWorld     {
     // open HelloWorld 

Remove one of the public class HelloWorld { and corresponding } brace.

kosa
  • 65,990
  • 13
  • 130
  • 167