"这个"的作用在TextView中textView = new TextView(this);

时间:2016-10-10 18:29:15

标签: java android

我是Android编程新手。我想知道在这段代码中this

中是什么
TextView textView = new TextView(this); 

这会指向哪个类或方法?我从here复制了此代码。

2 个答案:

答案 0 :(得分:3)

创建this时需要TextView的原因是因为TextView(您正在调用的那个)的构造函数之一获取Context个对象作为参数。

这基本上意味着您必须TextView一个Context才能创建它。

你从哪里获得这个背景?嗯,活动是一种上下文(ActivityContext的子类)!你是在活动类中创建TextView吗?所以只需将此活动用作上下文!

知道了吗?使用活动作为TextView的上下文!这就是你把this放在那里的原因。 this指的是代码当前正在运行的对象。

由于this引用从类创建的对象,因此无法在静态方法中使用this,因为静态方法中的代码不能在任何对象上运行。

this的另一个用途是构造函数:

class MyClass {
    private int a, b;

    public MyClass(int a, int b) {
        this.a = a;
        this.b = b;
    }
}

由于编译器无法知道您的ab,因此您必须添加this以引用该类中的a

答案 1 :(得分:-1)

this指的是被调用或初始化的当前对象的实例。

请参阅:What does "this" mean?