“ this.this $ 0”是什么意思?

杰克·彼得森

这段代码中“ this.this $ 0”的含义是什么?它代表什么?我知道为什么我们使用“ this”,但是我不知道“ this.this $ 0”

 class MainActivity$1 implements TextWatcher
{
  public void afterTextChanged(Editable paramEditable)
  {
  }

  public void beforeTextChanged(CharSequence paramCharSequence, int paramInt1, int paramInt2, int paramInt3)
  {
  }

  public void onTextChanged(CharSequence paramCharSequence, int paramInt1, int paramInt2, int paramInt3)
  {
    this.this$0.ChangeToNumber(paramCharSequence.toString());
  }
}
-----------------------or ----------------------
class MainActivity$2 implements View.OnClickListener
{
  public void onClick(View paramView)
  {
    this.this$0.startActivity(new Intent(this.this$0, about.class));
  }
}
二进制人

this.this $ 0Main.access $ 0相同这些神秘符号通常对应于匿名内部类。Java VM不了解它们,仅了解顶级类,因此Java编译器提供了几种解决方法来使内部类起作用。

本地类对其隐含类的实例具有隐式引用,'this $ 0'对应于反编译代码中的该引用。JVM阻止类访问其他类的private方法,因此编译器会生成几种综合的包私有方法,如access $ 0,以便访问封闭实例的私有方法。

Java语言还有许多其他功能,这些功能是通过综合方法(如泛型和协变返回类型)实现的。

我建议您检查这些链接:解码Android的反编译源代码

和:性能提示

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章