Java8, 135 118118 110 bytes
Single, prints 8
interface T{static void main(String[]a){System.out.print(Byte.SIZE);}}/* class Byte{static int SIZE=16;}/**/// Doubled, prints 16
interface T{static void main(String[]a){System.out.print(Byte.SIZE);}}/* class Byte{static int SIZE=16;}/**///interface T{static void main(String[]a){System.out.print(Byte.SIZE);}}/* class Byte{static int SIZE=16;}/**/// Previews answer, 118 bytes
Single, prints 1
interface T{static void main(String[]a){System.out.print(T.class.getResource("B.class")==null?1:2);}}/* enum B{}/**/// Doubled, prints 2
interface T{static void main(String[]a){System.out.print(T.class.getResource("B.class")==null?1:2);}}/* enum B{}/**///interface T{static void main(String[]a){System.out.print(T.class.getResource("B.class")==null?1:2);}}/* enum B{}/**/// How this works
The java-compiler creates a single file for every class in the source file. Therefore i can simply check if a resource with the name B.class exists.
Orginal Answer, 135 bytes
Single, prints 1
interface T{static void main(String[]a){int i=1;try{Class.forName("B");i=2;}catch(Exception e){}System.out.print(i);}}/* enum B{}/**/// Doubled, prints 2
interface T{static void main(String[]a){int i=1;try{Class.forName("B");i=2;}catch(Exception e){}System.out.print(i);}}/* enum B{}/**///interface T{static void main(String[]a){int i=1;try{Class.forName("B");i=2;}catch(Exception e){}System.out.print(i);}}/* enum B{}/**///