Android活动变量类型

时间:2015-11-25 19:45:48

标签: java android android-activity

在android主要活动中,我看到了两种类型的变量:在顶部声明的实例变量,以及在顶部声明的全局变量,因为它们没有通过使用“this”的活动引用,也没有有一个静态限定符。为什么有时使用实例变量,这些似乎是其他时候使用的“全局”变量?哪个更好用?从某种意义上说,它们似乎都是全局的,因为我认为只创建了一个MainActivity实例。

1 个答案:

答案 0 :(得分:4)

如果字段未声明private void ShowMapBtn_Clicked(object sender, RoutedEventArgs e) { var mapContainer = MyMap.Parent as FrameworkElement; MyMap.Width = mapContainer.ActualWidth; MyMap.Height = mapContainer.ActualHeight; //Hide the button (sender as Button).Visibility = Visibility.Collapsed; } ,则不是static。实例字段可以与static一起使用,也可以不与this一起使用,因此可以使用instanceFieldthis.instanceField

您应该将实例字段用于属于该类的各个实例的值。 static字段不属于单个实例。

根据应用的工作方式,可能会同时存在多个同一Activity课程的实例。对于许多应用程序,这是不可能的,在这种情况下,实例和static字段之间的差异在某种程度上是学术性的。在这种情况下,我倾向于将实例字段用于可变状态,并将static字段用于常量,例如static final int NUMBER_OF_LEVELS = 60;