1

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;?这是否意味着创建一个新的活动实例?

4

1 回答 1

2

这是否意味着创建一个新的活动实例?

不,活动是一个字段,而不是一个类,你不能创建一个变量的“实例”,只是类。代码所做的只是将一个已经存在的对象(当前的 b 对象)分配给 a 的静态字段 activity,仅此而已。

编辑
更正,我想活动也是一个类,因为你有一个类型和一个变量,名字相同,活动?您的命名是非标准的,这极大地混淆了问题和您的问题。我建议你改变你的问题,使命名标准和非混淆。所有类型(包括类、接口和枚举)都应以大写字母开头,所有变量都应以小写字母开头。

编辑2
好的,在你编辑的问题中查看了你最新的代码后,我们看到A有一个静态的StartActivity字段,也称为静态变量,称为Activity。在 B 类的onCreate(...)方法内部,它将this对当前 B 对象本身的引用分配给 A 的活动字段。onCreate(...)因此,如果将活动分配给先前的 StartActivity 对象,那么如果调用其方法,则该分配现在已更改为当前 B 对象。

于 2012-11-06T02:31:45.093 回答