还有什么是允许的java方法名?

还有什么是允许的java方法名?,java,jls,Java,Jls,我知道在Java中,$可以用作方法名。还有什么 类MyClass{ 字符串${ 我从来没想过有人会召唤我; } } 这实际上是一个实际问题。我正在寻找除$以外的方法。方法名称必须是有效标识符。请参阅Java语言规范:了解什么是有效标识符 标识符必须以Java字母开头,其余必须由Java字母或数字组成 联合联络小组说: Java字母包括大写和小写ASCII拉丁字母A-Z\u0041-\u005a和A-Z\u0061-\u007a,出于历史原因,还包括ASCII下划线uu,或\u005f和美元符号$

我知道在Java中,$可以用作方法名。还有什么

类MyClass{ 字符串${ 我从来没想过有人会召唤我; } }
这实际上是一个实际问题。我正在寻找除$以外的方法。

方法名称必须是有效标识符。请参阅Java语言规范:了解什么是有效标识符

标识符必须以Java字母开头,其余必须由Java字母或数字组成

联合联络小组说:

Java字母包括大写和小写ASCII拉丁字母A-Z\u0041-\u005a和A-Z\u0061-\u007a,出于历史原因,还包括ASCII下划线uu,或\u005f和美元符号$,或\u0024。$sign应该只在机械生成的源代码中使用,或者很少用于访问遗留系统上预先存在的名称

Java数字包括ASCII数字0-9\u0030-\u0039

字母和数字可以从整个Unicode字符集中提取,该字符集支持当今世界上使用的大多数书写脚本,包括中文、日文和韩文的大型字符集。这允许程序员在他们的程序中使用以他们的母语编写的标识符


请特别注意,它指出,即使$yourself是允许的字符,也不应在源代码中使用它。

方法名称必须是有效的标识符。请参阅Java语言规范:了解什么是有效标识符

标识符必须以Java字母开头,其余必须由Java字母或数字组成

联合联络小组说:

Java字母包括大写和小写ASCII拉丁字母A-Z\u0041-\u005a和A-Z\u0061-\u007a,出于历史原因,还包括ASCII下划线uu,或\u005f和美元符号$,或\u0024。$sign应该只在机械生成的源代码中使用,或者很少用于访问遗留系统上预先存在的名称

Java数字包括ASCII数字0-9\u0030-\u0039

字母和数字可以从整个Unicode字符集中提取,该字符集支持当今世界上使用的大多数书写脚本,包括中文、日文和韩文的大型字符集。这允许程序员在他们的程序中使用以他们的母语编写的标识符

请特别注意,它指出,即使$yourself是允许的字符,也不应在源代码中使用它。

下划线\uu也是方法名称的有效字符

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
下划线u也是方法名的有效字符

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


JLS回答了这个问题。你检查过了吗?很明显,你知道它的存在,因为你把它当作一个标签。我希望这是一个实际的问题!千万不要这样写方法的名字!!更可能的是,这是一个考试题。您也可以使用方法名作为字符串{return I从来没有想过有人会调用我;}您期望的是什么?您是否正在寻找另一个字符,如$used before方法?JLS回答了这个问题。你检查过了吗?很明显,你知道它的存在,因为你把它当作一个标签。我希望这是一个实际的问题!千万不要这样写方法的名字!!更可能的是,这是一个考试题。您也可以使用方法名作为字符串{return I从来没有想过有人会调用我;}您期望的是什么?你是在寻找另一个像$used before method这样的角色吗?我也是在这里找到的。那么,你为什么还要问这个问题?你还有一个问题没有回答吗?@Jesper我只是在等几分钟,我可以接受你的答案。我也是在这里找到的。所以,那么你为什么要问这个问题?你还有一个没有回答的问题吗?@Jesper我只是在等几分钟,我可以接受你的答案。请注意,下划线作为标识符在8中产生警告,在9中产生错误。请注意,下划线作为标识符在8中产生警告,在9中产生错误。