2009-05-27 4 views
4

동료가 이와 같이 보인 코드를 발견하여 컴파일 방법을 이해할 수 없었습니다.이 Java 코드는 어떻게 컴파일 할 수 있습니까?

class FooClass { 
    public static void bar(String arg) { 
    System.out.println("arg = " + arg); 
    http://www.google.com 
    System.out.println("Done!"); 
    } 
} 

기본적으로 메소드 중간에 임의의 URL이 붙여졌지만 javac은 신경 쓰지 않았습니다.

우리는 아무도 알아 내지 못하면 대답을 게시 할 것이지만 게시하기에 충분히 재미 있다고 생각했습니다.

+0

이 BTW, 작동 C# (아마도 C++에서도). – GalacticCowboy

+3

각 프로토콜이있는 URL은 하나만 허용됩니다 ("http", "https", "ftp"등). javac은 그것에 대해 까다 롭습니다. –

답변

18

"http :"는 레이블로 해석됩니다. 다음은 끝의 주석입니다.

+2

휴식 http; 그들이 말하고있는 GOTO 성명의 비밀 정체성은 악의이며 언어의 일부가되지 않을 것입니다. 나는 Java에 레이블이 있다는 것을 전혀 몰랐다. 비록 GOTO와 레이블을 다른 많은 것들처럼 악으로 간주한다고하지는 않는다. –

2

쉬운. 이 사이트의 강조 표시는 이유를 보여줍니다.

http :는 휴식 시간 http와 같은 레이블입니다.

//www.google.com은 의견입니다.

2

http :은 레이블입니다. //이 (가) 댓글을 시작합니다.

5

당신은 라벨 코멘트 다음

http: 

에게이

//www.google.com 
2

"HTTP는"레이블과 "//"은 물론, 코멘트 후 일부입니다

1

이 HTTP의 또 다른 예 : //

public class Main { 
    { 
     http://en.wikipedia.org/wiki/Hello_world_program 
     System.out.print("Hello "); 
    } { 
     http://java.sun.com/docs/books/tutorial/getStarted/application/index.html 
     System.out.println("World!"); 
    } 

    public static void main(String... args) { 
     new Main(); 
    } 
}