gpt4 book ai didi

java - 当传递给 Intent 构造函数时,从事件处理程序传递 this 与 ClassName.this 有什么区别?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:58:59 25 4
gpt4 key购买 nike

在早期的 Android 编程教程第 192 页中,我们看到了 LunchList#onOptionsItemSelected 的实现。在此实现中,我们看到两个 Intent 传递给 startActivity:一个的构造函数传递给 LunchList.this,另一个的构造函数传递给 这个

有什么区别?

See lines 78 - 91 here .请注意 onOptionsItemSelected 不是在内部类中声明的。

在 Android/Java 中,this 的值是否会在事件处理程序或函数绑定(bind)的上下文中通过反射发生变化?两个 Intent 实例都可以传递 this 吗?

最佳答案

在Java中,this指的是包含类,ClassName.this指的是名称为ClassName的第一个包含类。事件处理程序通常编写为匿名内部类,因此如果您想引用事件处理程序的包含类(而不是事件处理程序的类),则需要指定 ContainingClass.this,而不是 这个

引用:http://docs.oracle.com/javase/specs/jls/se7/html/jls-15.html#jls-15.8.4

关于java - 当传递给 Intent 构造函数时,从事件处理程序传递 this 与 ClassName.this 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12594229/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com