A.java:
public class A {
public static StartActivity startActivity;
}
B.java:
public class StartActivity extends Activity
public void onCreate(Bundle savedInstanceState) {
A.activity = this;
}
}
从上面的2个java文件中,我想问一下a.activity = this;
的含义是什么?
这是否意味着创建一个新的活动实例?
答案 0 :(得分:2)
这是否意味着创建一个新的活动实例?
没有。 activity是一个字段,而不是一个类,你不能只创建一个变量的“实例”。所有代码都在做的是将一个已经存在的对象(当前的b对象)分配给一个静态字段,活动,就是所有。
修改强>
更正,我想活动也是一个类,因为你有一个类型和变量给定相同的名称,活动?您的命名是非标准的,这使问题和您的问题大为混乱。我建议你改变你的问题,使命名标准和非混淆。包括类,接口和枚举在内的所有类型都应以大写字母开头,所有变量都以小写字母开头。
编辑2
好的,在查看编辑过的问题中的最新代码后,我们看到A有一个静态StartActivity字段,也称为静态变量,名为Activity。在B类的onCreate(...)
方法内部,它将this
(对当前B对象本身的引用)分配给A的活动字段。因此,如果将活动分配给先前的StartActivity对象,则在调用其onCreate(...)
方法时,该分配现在已更改为当前B对象。