Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.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 什么';ClassName.this和上下文类之间的关系是什么?_Java_Android - Fatal编程技术网

Java 什么';ClassName.this和上下文类之间的关系是什么?

Java 什么';ClassName.this和上下文类之间的关系是什么?,java,android,Java,Android,我正在学习AndroidComponentName,Android书籍的示例如下: ComponentName componentName = new ComponentName( ComponentAttrActivity.this, SecondActivity.class); 它用于由第一个活动创建第二个活动,我对第一个参数感到困惑:组件吸引力。这。我检查了StackOverflow,大多数答案都是关于为什么它是ClassName。这个不仅这个,而且我想知道的是类

我正在学习Android
ComponentName
,Android书籍的示例如下:

ComponentName componentName = new ComponentName(
            ComponentAttrActivity.this, SecondActivity.class);
它用于由第一个活动创建第二个活动,我对第一个参数感到困惑:
组件吸引力。这
。我检查了StackOverflow,大多数答案都是关于为什么它是
ClassName。这个
不仅
这个
,而且我想知道的是
类的类型之间的关系。这个
上下文
,我假设上面的组件名构造函数适合下面的第三个构造函数

它有3个2参数构造函数:

ComponentName(String pkg, String cls)
ComponentName(Context pkg, String cls)
ComponentName(Context pkg, Class<?> cls)
ComponentName(String-pkg、String-cls)
组件名称(上下文包、字符串cls)
组件名称(上下文包,类cls)
我查看了Android API的
上下文
,仍然没有任何线索

与有关应用程序环境的全局信息的接口。这 是一个抽象类,其实现由Android提供 系统。它允许访问特定于应用程序的资源和 类,以及应用程序级操作的up调用,例如 开展活动、广播和接收意向等


有人能给我解释一下吗

ClassName。此
允许内部类引用其封闭类的实例。在您的例子中,它是一个类的实例,该类是
上下文
的子类(例如,
活动
上下文
的子类,因此
活动
的任何子类也可以作为
上下文
参数传递

如果您的构造函数调用
newcomponentname(componentattractility.this,SecondActivity.class)不包含在内部类的代码中,您可以使用
新组件名(此,SecondActivity.class)取而代之