当前位置: 首页 > 面试题库 >

Java中“ this”关键字的说明

督辉
2023-03-14
问题内容

我从Android开发者网站复制了以下代码:

public class ExampleActivity extends Activity implements OnClickListener {
    protected void onCreate(Bundle savedValues) {
        ...
        Button button = (Button)findViewById(R.id.corky);
        button.setOnClickListener(this);
    }

    // Implement the OnClickListener callback
    public void onClick(View v) {
        // do something when the button is clicked
    }
    ...
}

我想知道“这个”关键字到底指的是什么?它是否引用了类“ ExampleActivity”?通常,如何找到“ this”指的是什么?


问题答案:

它是指的实例ExampleActivity,其上onCreate()被调用。

通常,从Java语言规范15.8.3开始:

关键字this只能在实例方法,实例初始值设定项或构造函数的主体中,或在类的实例变量的初始值设定项中使用。如果它出现在其他任何地方,则会发生编译时错误。

当用作主要表达式时,关键字this表示一个值,该值是对其调用实例方法(第15.12节)的对象或正在构造的对象的引用。此类的类型是在其中出现关键字的C类。在运行时,所引用的实际对象的类可以是类C或C的任何子类。



 类似资料:
  • 主要内容:this.属性名,this.方法名,this( )访问构造方法this 关键字是 Java 常用的关键字,可用于任何实例方法内指向当前对象,也可指向对其调用当前方法的对象,或者在需要当前类型对象引用时使用。 下面我们根据示例分别讲解 this 关键字的作用。 this.属性名 大部分时候,普通方法访问其他方法、成员变量时无须使用 this 前缀,但如果方法里有个局部变量和成员变量同名,但程序又需要在该方法里访问这个被覆盖的成员变量,则必须使用 this 前缀

  • 涵义 this关键字是一个非常重要的语法点。毫不夸张地说,不理解它的含义,大部分开发任务都无法完成。 前一章已经提到,this可以用在构造函数之中,表示实例对象。除此之外,this还可以用在别的场合。但不管是什么场合,this都有一个共同点:它总是返回一个对象。 简单说,this就是属性或方法“当前”所在的对象。 this.property 上面代码中,this就代表property属性当前所在

  • 问题内容: 当ai遇到关键字时,我正在研究Java中的方法重写。在Internet和其他来源上进行了大量搜索之后,我得出结论,当实例变量的名称与构造函数的参数相同时,将使用关键字。我是对还是错? 问题答案: 是实例中当前实例的别名或名称。它对于消除实例变量与局部变量(包括参数)的区别很有用,但它本身可以用来简单地引用成员变量和方法,调用其他构造函数重载或简单地引用 实例 。适用用途的一些示例(并非

  • 问题内容: 我试图了解java关键字的this实际作用。我一直在阅读Sun的文档,但对于this实际操作仍然不甚了解。 java 关键字 问题答案: 关键字是对当前对象的引用。 另一种思考方式是关键字就像你用来引用自己的人称代词。对于相同的概念,其他语言使用不同的词。VB使用Me和Python约定(因为Python不使用关键字,只是每个方法的隐式参数)将被使用。 如果要引用本质上属于你的对象,你将

  • 问题内容: 学习Java一段时间后,第一次使用关键字就让我非常困惑。 这就是我的困惑。我写了以下代码: 我得到以下输出: 现在,这里的第一个问题是:为什么并指向基类而不是Child类?而且如果指向基类的,为什么要调用子类的?字段和方法的行为是否有所不同? 但是,主要关注的是关键字的机制。我的意思是,您知道(指向)当前对象。如果您考虑一下,这不是魔术行为。在某处一定有田野。例如,类的文字是不可见的,

  • 在 C# 中,可以使用 this 关键字来表示当前对象,日常开发中我们可以使用 this 关键字来访问类中的成员属性以及函数。不仅如此 this 关键字还有一些其它的用法,下面就通过一些示例来分别演示一下。 1) 使用 this 表示当前类的对象 运行结果如下: 小牛知识库 https://www.xnip.cn/ 2) 使用 this 关键字串联构造函数 运行结果如下: 无参构造函数 小牛知识库