对象和类关系的含义

时间:2012-11-06 02:29:52

标签: java android oop

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

1 个答案:

答案 0 :(得分:2)

  

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

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

修改
更正,我想活动也是一个类,因为你有一个类型和变量给定相同的名称,活动?您的命名是非标准的,这使问题和您的问题大为混乱。我建议你改变你的问题,使命名标准和非混淆。包括类,接口和枚举在内的所有类型都应以大写字母开头,所有变量都以小写字母开头。

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