下面兩個方法定義之間是否有區別? Eclipse不會抱怨他們中的任何一個。兩種方法實現之間的區別?
private void method1() {
}
和
private void method2() {
};
下面兩個方法定義之間是否有區別? Eclipse不會抱怨他們中的任何一個。兩種方法實現之間的區別?
private void method1() {
}
和
private void method2() {
};
分號是不是方法的一部分,所以該方法定義之間沒有區別。
分號只是類體的一部分。
class AClass {
private void method() { }
;
}
這是等同的。
您可以將初始化語句放在類體中。它們在創建實例時執行。一個分號構成一個空的語句,所以它不是很有用。其他初始化更加有用:
class AClass {
private void method() { }
;
int x = 5;
{
System.out.println("Hello world");
}
int y = 5; ; ;
}
這是什麼樣的代碼格式化? – 2012-02-01 11:26:56
標準?那麼......大部分時間。空的陳述是無用的,所以我沒有把它們放在一個新的線上來證明它們沒有效果。但除此之外:http://www.oracle.com/technetwork/java/codeconventions-141270.html#18761 – 2012-02-01 11:32:16
你是對的。我看起來很奇怪:) – 2012-02-01 11:33:08
的;
沒有幫助和傷害。它不屬於method2()
,編譯器將忽略它。
該方法的右花括號後面不應該有分號。
但是,如果你這樣做,編譯器會認爲它是一個空的聲明,因此它不會給你任何問題。
句法糖。
(你總是可以運行javap
以確保字節碼是相同的)
在這裏看到:http://stackoverflow.com/questions/2724371/when-would-you-put-a-semicolon-after-a-method-closing-brace 分號是語法允許的,但在這裏不是必須的,在這種情況下大多數人不會使用它。 – jham 2012-02-01 11:22:27