gpt4 book ai didi

java - 什么是 [Android] Java 的 VB.NET 静态关键字?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:07:06 26 4
gpt4 key购买 nike

对于 VB.NET 的 Static 关键字,是否有 Java 等价物 - 特别是在 Android 上?对于那些不熟悉 VB.NET 的人,请看下面的代码 fragment ……

Sub MyFunc() 
Static myvar As Integer = 0
myvar += 1
End Sub

Static 关键字使 myvar 在后续调用 MyFunc 之间保留其值。

因此,在对 MyFunc 进行三次调用后,myvar 的值将为:123

如何在 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com