"这" Android中的关键字含义

时间:2016-08-07 13:22:01

标签: android constructor this relative

我是Android开发的初学者。 this关键字在任何构造函数中使用时总是让我感到困惑。有人可以向我解释这是什么意思吗?

RelativeLayout ob = new RelativeLayout(this);
Button btn = new Button(this);

this在之前的构造函数中意味着什么?它指的是什么?

2 个答案:

答案 0 :(得分:1)

如文档here所示,RelativeLayout构造函数接受Context的实例。我假设您在一个活动中调用该代码,可能在onStart方法中。如果是这种情况,this关键字将引用活动的当前实例。在android中,Activities扩展了ContextWrapper类,使它们成为Context类的子类,因此可以传递给RelativeLayoutButton构造函数。

this关键字指的是包含您正在调用的构造函数的方法的类的当前实例。

答案 1 :(得分:0)

this指的是这个代码所在的类的实例,例如:

public class Foo {
    private string bar = "bar";

    public Foo(string bar)
    {
        this.bar // <-- refers to global bar. Not the bar from constructor.
    }
}

在您的情况下,this需要RelativeLayout所需的参数类型,因此您的类可能必须按RelativeLayout所需的内容进行扩展。