好吧,我的问题是 JAVA 中没有指针……但是当我们必须开始另一个活动时,我们会这样做:
Intent in = new Intent(MyActivity.this, NewActivity.class);
startAcitivity(in);
所以我的问题是什么是数据类型MyActivity.this
?
好吧,我的问题是 JAVA 中没有指针……但是当我们必须开始另一个活动时,我们会这样做:
Intent in = new Intent(MyActivity.this, NewActivity.class);
startAcitivity(in);
所以我的问题是什么是数据类型MyActivity.this
?
如果您在非嵌套类或顶级类中,则写作与写作MyActivity.this
相同。this
看这个例子:
public class TopLevel{
public static void main(String[] args){
new TopLevel().printClass();
}
public TopLevel(){
new LowerLevel().printClass();
}
public void printClass(){
System.out.println("Outer Class: ");
// Will print something like "TopLevel.class"
System.out.println(this.getClass());
}
public class LowerLevel{
// This is a Nested-Class.
public void printClass(){
System.out.println("Nested Class: ");
// Will print "TopLevel$LowerLevel.class"
System.out.println(this.getClass());
// Will print "TopLevel.class" again
System.out.println(TopLevel.this.getClass());
}
}
}
在嵌套类中使用的某些this
引用与在顶级类中使用时引用的实例不同。因此,要在嵌套类中获取外部类的“上下文”,您还需要指定要从中this
获取 -context 的类。
在 java 中指针是不允许的,但是在 Java 中通过引用(对象)传递是隐式基于指针概念的东西。
在您的情况下,您将父类的上下文传递给子类,这实际上是通过引用概念传递的。
希望这可以帮助。