6

一位同事遇到了一些看起来像这样的代码,但无法理解它是如何编译的:

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

基本上,在方法中间粘贴了一个随机 URL,但javac并不在意。

我们解决了,所以如果没有其他人发现,我会发布答案,但我认为发布它很有趣。

4

6 回答 6

20

“http:”被解释为一个标签。接下来是行尾注释。

于 2009-05-27T16:58:44.113 回答
5

你有一个标签

http:

随后发表评论

//www.google.com
于 2009-05-27T16:59:19.323 回答
2

简单的。该网站上的突出显示说明了原因。

http:是一个标签,如break http;

//www.google.com 是评论。

于 2009-05-27T16:59:03.943 回答
2

http:是标签。 //开始评论。

于 2009-05-27T16:59:13.660 回答
2

“http:”是标签,“//”后面的部分当然是注释

于 2009-05-27T16:59:28.810 回答
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();
    }
}
于 2009-05-27T20:15:17.430 回答