Java 什么是';这';在此处执行relativelayout lyt=新relativelayout(此)

Java 什么是';这';在此处执行relativelayout lyt=新relativelayout(此),java,android,Java,Android,“这个”在这里干什么。 这是java中的“this”关键字吗?如果是,幕后发生了什么。 我只想知道在Java中如何使用“this”关键字,这个表示当前对象,即您当前正在使用的对象 当你说Relativelayout lyt=newrelativelayout(this)时,基本上你是在传递当前对象的同时创建一个Relativelayout的对象(当然,只要Relativelayout有一个接受任何类型的this的构造函数) 另外,您不能在静态上下文中使用此 请参阅下面带有注释的示例代码以进行解释

“这个”在这里干什么。 这是java中的“this”关键字吗?如果是,幕后发生了什么。
我只想知道在Java中如何使用“this”关键字,
这个
表示当前对象,即您当前正在使用的对象

当你说
Relativelayout lyt=newrelativelayout(this)
时,基本上你是在传递当前对象的同时创建一个
Relativelayout
的对象(当然,只要
Relativelayout
有一个接受任何类型的
this
的构造函数)

另外,您不能在静态上下文中使用

请参阅下面带有注释的示例代码以进行解释,这样您就很容易理解了

 Relativelayout lyt = new Relativelayout(this)

最后,关于关键字的问题,是的,“this”是Java中的一个关键字,请参阅JLS specs以获取完整列表,如您在“this”上看到的,这是上下文。我猜这个代码行位于扩展活动的类上,因此“this”表示要在其中插入新布局的活动

在活动中动态创建视图时,需要使用上下文


例如,您可能希望从代码动态创建**RelativeLayout**。为此,需要实例化**RelativeLayout**类。RelativeLayout类的构造函数接受一个上下文对象,由于活动类是上下文的子类,因此可以使用this关键字来表示上下文对象。

提示:您刚刚开始学习java/android。记住:在你之前有无数的人去过那里。他们可能有和你现在一样的问题。所以,请在提出新问题之前做一些研究。机会是:在这一点上,你梦想问的所有问题都被问到了。在这里在别处无数次。然后回答。
public class Class1 {
    public static void main(String[] args) {
        new Class1().test(); // see here I couldn't do "Class2 class2 = new Class2(this);" because "this" cannot be used in "static" context, so I had to create an object of Class1
    }

    private void test() {
        Class2 class2 = new Class2(this); // here this means current object of "Class1"
    }
}

public class Class2 {
    private Class1 class1;

    Class2(Class1 _class1){
        this.class1 = _class1; // here "this" means the object of Class2.
    }
}