north521
V2EX  ›  Java

java 中某些变量以 _或$开头,是什么原因?

  •  
  •   north521 · Nov 16, 2016 · 4994 views
    This topic created in 3641 days ago, the information mentioned may be changed or developed.

    我就记得_是从 c++内部变量传过来的,$是老的 jdk 写法吧,现在没找到比较官方的资料

    21 replies  •  2016-11-23 22:55:15 +08:00
    acoder2013
    acoder2013
    Nov 16, 2016
    1
    母鸡
    Zzzzzzzzz
    Zzzzzzzzz
    Nov 16, 2016
    2
    说明是从 class"反编译"出来的呗
    knightdf
    knightdf
    Nov 16, 2016
    3
    反编译的把?
    fo2w
    fo2w
    Nov 16, 2016
    4
    没什么特别原因, 就是个习惯
    或者称之为, "一群人之间的约定俗成"
    north521
    north521
    OP
    Nov 16, 2016
    5
    @Zzzzzzzzz
    @knightdf
    我看项目里面有人故意这么写的,估计是模仿 jdk 源码
    jason19659
    jason19659
    Nov 16, 2016
    6
    没见到过
    fantastM
    fantastM
    Nov 16, 2016
    7
    java 中私有内部方法可以以"_"这特殊符号开头标志一下。$倒是不知道了。。
    fyibmsd
    fyibmsd
    Nov 16, 2016
    8
    php 的人写的
    8bit
    8bit
    Nov 16, 2016
    9
    你指的内部类? JConsoleContext$ConnectionState.class ?
    Ouyangan
    Ouyangan
    Nov 16, 2016
    10
    可能是那人脑子抽
    sudoz
    sudoz
    Nov 16, 2016
    11
    @li24361 JDK 源码是这么写的?难道不是反编译过来的结果?
    a0000
    a0000
    Nov 16, 2016 via Android
    12
    变量名可以取_和$,个人习惯问题
    我看着变量名是$的,只有一个字符,特别不舒服
    KeepPro
    KeepPro
    Nov 16, 2016 via Android
    13
    楼上正解 内部类编译过得就是$.class
    zartouch
    zartouch
    Nov 17, 2016 via iPhone
    14
    _估计是约定的代码风格而已, 公司里之前的 coding style 文档就是属于类的变量名字前缀加_。 属于方法变量名字后缀加_。 现在估计是 IDE 自动高亮了已经属于可有可无的做法了
    Balthild
    Balthild
    Nov 17, 2016 via Android
    15
    php+java=phava
    YzSama
    YzSama
    Nov 17, 2016
    16
    编码规范吗?
    YzSama
    YzSama
    Nov 17, 2016
    17
    @Balthild py+java=pyjava XD...
    Balthild
    Balthild
    Nov 17, 2016 via Android
    19
    @YzSama 不应该是 jy 通红(划掉)jython 吗
    xingda920813
    xingda920813
    Nov 17, 2016
    20
    觉得 Google 的命名方式很好:
    private int mResId;
    private static int sResId;
    private static final int RES_ID;
    void method() {
    int resId = 0;
    }
    这样什么类型的变量一眼就可以看出来.
    kaneg
    kaneg
    Nov 23, 2016
    21
    $是 Java 可以在变量中使用的合法字符,一般用于编译器生成的内部类和匿名类的命名,不建议普通开发人员使用。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1652 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 52ms · UTC 17:12 · PVG 01:12 · LAX 09:12 · JFK 12:12
    ♥ Do have faith in what you're doing.