gpt4 book ai didi

java - Intent 构造函数的上下文参数

转载 作者:行者123 更新时间:2023-11-30 11:26:39 26 4
gpt4 key购买 nike

我是 android 开发的新手。 事实上,我是在 hello world 应用程序之后构建我的第一个应用程序,遵循本教程:http://developer.android.com/training/basics/firstapp/starting-activity.html

这是我第一次接触到上下文这个词。我已经打开了该类的 API,但是给出的描述(如下所示)对我来说根本无法理解。

“关于应用程序环境的全局信息的接口(interface)。这是一个抽象类,其实现由 Android 系统提供。它允许访问特定于应用程序的资源和类,以及对应用程序级操作的向上调用,例如如启动 Activity 、广播和接收 Intent 等。”

<强>1。有人能用最简单的术语告诉我上下文是什么吗? 请告诉一个完整的菜鸟和初学者可以理解的东西。

  1. 我在构建 Intent 的语句的解释(在教程中我给出了一个链接)中遇到了这个术语,即 Intent intent= new intent(this, SecondActivity.class);

解释说“this”用在需要上下文的地方,因为Activity是Context的子类。

据我对 java 编程语言的了解,this 用于引用当前对象。这里的当前对象是Activity的对象。

现在,既然 Activity 是 Context 的子类,那么他们是否使用 Activity 的对象(这里用 this 关键字引用)来代替父类(super class) Context 的对象?但是不是不能将子类对象隐式转换为父类(super class)对象吗?

简而言之,我的问题(如果上述问题让您感到困惑)是为什么他们使用此关键字代替上下文(即此 Activity 类的父类(super class))对象?

最佳答案

BUT ISN'T IT THAT A SUB CLASS OBJECT CAN NOT BE IMPLICITLY CASTED TO A SUPER CLASS OBJECT?

有一次我在读 Bruce Eckel 的 Thinking in Java。他描述了双向类型转换的概念、它们的用途和要求。与其他作者(其中许多作者)相比,他的书中的不同之处在于他将概念与现实世界联系起来的方式,而不是过于冗长。以下是他在这种情况下所说的:

从子类到父类(super class)的转换是安全的,因为子类至少具有父类(super class)提供的扩展接口(interface)(当然是公共(public)的)。因此,当从子类转换为父类(super class)时,您可以安全地调用它们共有的所有方法,但反过来(从 super 到子)会给您不安全的句柄来调用父类不可用的所有额外方法,如果有。

您的这个更正概念将回答您的第二个问题,

WHY ARE THEY USING THIS KEYWORD IN PLACE OF A CONTEXT

P.S: 不要使用大写字体来发布正常的单词。我们足够健全和耐心,可以正常阅读它并想出一些明智的答案。

关于java - Intent 构造函数的上下文参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19741317/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com