什么是[安卓]Java';s相当于VB.NET';什么是静态关键字?
VB.NET的什么是[安卓]Java';s相当于VB.NET';什么是静态关键字?,java,android,vb.net,syntax,equivalent,Java,Android,Vb.net,Syntax,Equivalent,VB.NET的Static关键字是否有Java等价物(特别是在Android上)?对于那些不熟悉VB.NET的人,请看下面的代码片段 Sub MyFunc() Static myvar As Integer = 0 myvar += 1 End Sub Static关键字使myvar在后续调用MyFunc之间保留其值 因此,在对MyFunc进行三次调用之后,myvar的值将是:1、2和3 如何在Java中的方法中进行交叉调用持久变量?可以吗?这是Java中的静态关键字 pu
Static
关键字是否有Java等价物(特别是在Android上)?对于那些不熟悉VB.NET的人,请看下面的代码片段
Sub MyFunc()
Static myvar As Integer = 0
myvar += 1
End Sub
Static
关键字使myvar在后续调用MyFunc之间保留其值
因此,在对MyFunc进行三次调用之后,myvar的值将是:1
、2
和3
如何在Java中的方法中进行交叉调用持久变量?可以吗?这是Java中的静态关键字
public static String mVar = "Some Value";
不,在一个方法中,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也有“static”关键字,它的作用与我收集到的相同,java的
static
更类似于VB.NET的Shared
。。。表示类成员不需要特定的类实例;不或者Java的static
实际上是VB.NET的Shared
及其static
的双重用途吗?在Java/c中,声明为static的成员可以在不实例化实例的情况下使用,也可以在不同的实例之间共享,从而在后续调用之间保留其值。但是在Java/c中不能使用static
Java中的方法与eidylon的VB示例中的方法相同。在Java中不能使局部变量成为静态的
,所以我需要将我的变量移到方法之外,然后将它放在类级别,是吗?然后我可以将我的方法和变量都声明为静态
,那么它的效果大致相同?这将是最接近的事情?是的,您应该在类级别移动变量。然而,方法不必是静态的。非静态方法可以访问静态
变量。但请记住,其他方法也可以看到一个方法更改的值。不,它不是。问题是关于在局部变量上使用static
,我不认为这在Java中是完全可用的,所以你的答案是错误的,Azodius的答案是正确的。如果我是你,我会删除这个答案。