我知道$
可以用作Java中的方法名称。还有什么?
class MyClass {
String $() {
return "I've never been expected anyone would invoke me";
}
}
这实际上是一个实际问题。我正在寻找$
以外的其他人。
答案 0 :(得分:6)
方法名称必须是有效的标识符。有关什么是有效标识符,请参阅Java语言规范:3.8 Identifiers。
标识符必须以" Java letter"开头。其余的必须包含一个" Java字母或数字"。
JLS说:
" Java字母"包括大写和小写ASCII拉丁字母AZ(\ u0041- \ u005a)和az(\ u0061- \ u007a),以及由于历史原因,ASCII下划线(_,或\ u005f)和美元符号($,或\ u0024)。 $符号应仅用于机械生成的源代码,或者很少用于访问旧系统上预先存在的名称。
" Java数字"包括ASCII数字0-9(\ u0030- \ u0039)。
可以从整个Unicode字符集中提取字母和数字,该字符集支持当今世界中使用的大多数书写脚本,包括中文,日文和韩文的大集。这允许程序员在他们的程序中使用以其本地语言编写的标识符。
请特别注意,它表示您不应在源代码中使用$
(即使它是允许的字符)。
答案 1 :(得分:1)
下划线_
也是方法名称的有效字符
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