我知道$
可以用作Java中的方法名稱。還有什麼?還有什麼可以讓非凡的java方法名稱?
class MyClass {
String $() {
return "I've never been expected anyone would invoke me";
}
}
這實際上是一個實際問題。我正在尋找除$
之外的其他人。
我知道$
可以用作Java中的方法名稱。還有什麼?還有什麼可以讓非凡的java方法名稱?
class MyClass {
String $() {
return "I've never been expected anyone would invoke me";
}
}
這實際上是一個實際問題。我正在尋找除$
之外的其他人。
方法名稱必須是有效的標識符。請參閱Java語言規範:3.8 Identifiers瞭解什麼是有效標識符。
標識符必須以「Java字母」開頭,其餘必須由「Java字母或數字」字符組成。
的JLS說:
通過 「Java字母」 包括大寫和小寫ASCII拉丁字母AZ(\ u0041- \ u005a)和AZ(\ u0061- \ u007a),並且,由於歷史的原因,ASCII下劃線(_或\ u005f)和美元符號($或\ u0024)。 $符號只能用於機械生成的源代碼,或者很少用於訪問原有系統上預先存在的名稱。
「Java數字」包括ASCII數字0-9(\ u0030- \ u0039)。
字母和數字可能來自整個Unicode字符集,它支持當今世界上大多數使用的寫腳本,包括中文,日文和韓文的大集合。這允許程序員在他們的程序中使用以其母語編寫的標識符。
注意,尤其是,它說,你不應該在你的源代碼使用$
自己(即使它是允許的字符)。
這也是我到達的地方。 – 2014-12-06 12:05:46
那麼,你爲什麼然後問這個問題 - 你還有一個問題沒有回答? – Jesper 2014-12-06 12:06:25
@Jesper我只是在等幾分鐘,我可以接受你的答案。 – 2014-12-06 12:07:22
下劃線_
也是方法名
class MyClass {
static String _() {
return "I've never been expected anyone would invoke me";
}
public static void main(String[] args) {
String s = _();
System.out.println(s);
}
}
輸出
I've never been expected anyone would invoke me
請注意,作爲標識符的下劃線在8中產生警告,在9中產生錯誤。 – aioobe 2015-02-17 09:40:52
的JLS回答了這個有效的字符。你檢查了嗎?你顯然知道它的存在,因爲你用它作爲標籤。 – 2014-12-06 12:00:50
我希望這是一個實際的問題!永遠不要寫方法的名字! – 2014-12-06 12:03:17
更可能的是,這是一個考試問題。 – 2014-12-06 12:04:29