Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 什么';这';指在建立一个意图_Java_Android - Fatal编程技术网

Java 什么';这';指在建立一个意图

Java 什么';这';指在建立一个意图,java,android,Java,Android,我刚开始学习Android,并在谷歌Android网站上学习教程 在我正在学习的教程中,我建立了开始另一项活动的意图 com.mycompany.myfirstapp; import android.content.Intent; import android.os.Bundle; import android.support.design.widget.FloatingActionButton; import android.support.design.widget.Snackbar; im

我刚开始学习Android,并在谷歌Android网站上学习教程

在我正在学习的教程中,我建立了开始另一项活动的意图

com.mycompany.myfirstapp;
import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;   
public class MyActivity extends AppCompatActivity {
    /**Called when the user clicks the Send button**/
    public void sendMessage(View view) {
        //Do something in response to button
        Intent intent = new Intent(this, DisplayMessageActivity.class);
    }
}
本教程说“上下文作为其第一个参数(之所以使用此参数,是因为活动类是上下文的子类)。”

我想这个解释应该足够清楚,但我不明白

据我所知,sendMessage方法中的“this”指的是当前类,因此用作当前类的实例变量,即MyActivity

这是真的吗

如果这是真的,那么它的类型是活动?哪一个又是上下文的一个子类

我不明白为什么“这”类型是活动。 请给我解释一下。 多谢各位

据我所知,sendMessage方法中的“this”引用当前类,因此用作当前类的实例变量。这是真的吗

如果这是真的,那么它的类型是活动

它的类型是
MyActivity
,它(间接地)扩展了
Activity
,所以您可以将它传递到这里

哪一个又是上下文的一个子类

MyActivity
扩展
AppCompatActivity
它扩展
FragmentActivity
它扩展
活动
它扩展
上下文
(一些步骤省略)。因此,每当您需要一个
上下文
实例时,您都可以传递一个
活动
实例,这就是继承的工作方式

编辑:
活动
不一样<代码>活动是Android SDK的类之一。类类似于一个模板,可用于创建新对象的实例
Intent
的构造函数要求您在其第一个参数中传递
Context
的实例
MyActivity
扩展了
Context
,因此可以在
Intent
的构造函数中传递
MyActivity
的实例
此方法中的
保存对当前对象的引用。

活动
的一个实例,因为这是
AppCompatActivity
扩展的内容

如需进一步参考,请参阅:
是,
是当前类的实例(
MyActivity
)。当您的
活动
正在扩展
AppCompatActivity
时,它也会扩展其所有父活动:

    android.content.Context
   ↳    android.content.ContextWrapper
       ↳    android.view.ContextThemeWrapper
           ↳    android.app.Activity
               ↳    android.support.v4.app.FragmentActivity
                   ↳    android.support.v7.app.AppCompatActivity

谢谢你的快速回复。但我不明白第二个。为什么“this”是活动类型?这是一门课。活动和类在Android中是一样的吗?@Nayana-它不是Android,而是java。所有对象都是类/有一个类(不确定那里的措辞是否正确)我现在明白了。非常感谢。你上次的解释很清楚。我应该知道“扩展”是什么意思。