对于 VB.NET 的 Static
关键字,是否有 Java 等价物 - 特别是在 Android 上?对于那些不熟悉 VB.NET 的人,请看下面的代码 fragment ……
Sub MyFunc()
Static myvar As Integer = 0
myvar += 1
End Sub
Static
关键字使 myvar 在后续调用 MyFunc 之间保留其值。
因此,在对 MyFunc 进行三次调用后,myvar 的值将为:1
、2
和 3
。
如何在 Java 的方法中创建一个交叉调用持久变量?可以吗?
最佳答案
没有。在一个方法中,Java 没有可以在各种调用中记住的东西。
如果你想在一个方法的多次调用中保留一个值,你应该将它存储为实例变量或类变量。
实例变量对于每个对象/实例是不同的,而类变量(或静态变量)对于它的类的所有对象都是相同的。
例如:
class ABC
{
int instance_var; // instance variable
static int static_var; // class variable
}
class ABC_Invoker
{
public static void main(string[] args)
{
ABC obj1 = new ABC();
ABC obj2 = new ABC();
obj1.instance_var = 10;
obj2.instance_var = 20;
ABC.static_var = 50; // See, you access static member by it's class name
System.out.prinln(obj1.instance_var);
System.out.prinln(obj2.instance_var);
System.out.prinln(ABC.static_var);
System.out.prinln(obj1.static_var); // Wrong way, but try it
System.out.prinln(obj2.static_var); // Wrong way, but try it
}
}
关于java - 什么是 [Android] Java 的 VB.NET 静态关键字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8998832/