在Java/Android中将参数放在参数之前有什么意义?

Mit*_*l R 3 java android

在任何变量或参数之前放置$符号的区别或意义是什么?

例如

假设这是我的班级......

 public class Vector3 {
      public Vector3(float x, float y, float z){
           //...
          //... my ctor code
          //...
      }
 }
Run Code Online (Sandbox Code Playgroud)

这两个声明之间的区别是什么......

宣言1

 Vector3 $vec = new Vector3(1f,1f,1f);
Run Code Online (Sandbox Code Playgroud)

宣言2

 Vector3 vec = new Vector3(1f,1f,1f);
Run Code Online (Sandbox Code Playgroud)

如果您在声明1和声明2中的"vec"之前注意到$ sign.

有线索吗?

另外,声明与下面相同的构造函数,

public class Vector3 {

    public Vector3(float $x, float $y, float $z){
    //...
    //... my ctor code
    //...
    }
}
Run Code Online (Sandbox Code Playgroud)

上面的构造函数和初始构造函数有什么区别?

谢谢...

编辑:感谢你的所有回复,我用不同的组合做了这个,没有重大意义:)我感谢你的所有答案.

irr*_*ble 12

编译并运行.小孩你不是.

package $;

public class $
{
    int $;

    int $(int $){ return $; }
    void $$(int $){ this.$=$; }

    $ _(){ return this; }

    $ _;

    {
        $$($($));

        _._()._._()._();
    }
}
Run Code Online (Sandbox Code Playgroud)


Rob*_*Rob 10

根据Java语言规范,它是允许的,但没有特殊含义.请注意,该规范继续建议它"仅用于机械生成的源代码,或很少用于访问遗留系统中的预先存在的名称".


小智 7

虽然许多人指出标识符$合法的,但我反驳使用$(至少作为初始标记),因为它违反了Java命名约定:

变量名称不应以下划线_或美元符号$字符开头,即使两者都允许.

虽然这不包括的情况下foo$bar我按照JLS的建议,即$使用在生成的代码只.例如,Java编译器$在生成匿名类时使用.

如果没别的,我会认为你的代码难看:-)