# Java, 62 bytes

 enum H{H;{System.out.print("Hello, World!");System.exit(0);}}

This is valid in Java 6. I believe it can work on Java 5 as well, but I haven't tested. This won't work in Java 4 or earlier (because `enum` didn't exist) and will not work in Java 7 or after (because the bypass was "fixed").

 enum H { // An enum is basically a class.
 H; // Static initialization of the mandatory instance, invoking the default constructor.
 // Happens before the existence check of "main"-method.
 // No constructor means default constructor in Java.
 { // Instance initialization block.
 // Executed in each constructor call.
 System.out.print("Hello, World!"); // duh!
 System.exit(0); // Exit before the JVM complains that no main method is found.
 // (and before it writes on stderr)
 }
 }

## Rough equivalence in Java as usually written

The above code is roughly equivalent to the following one.

 class HelloWorld {
 public final static HelloWorld INSTANCE;
 static {
 INSTANCE = new HelloWorld();
 }
 public HelloWorld() {
 System.out.print("Hello, World!");
 System.exit(0);
 }
 }

## Proof of correctness

 $ java -version
 java version "1.6.0_45"
 Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
 Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)

 $ javac H.java

 $ java H
 Hello, World!
 $