Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么是[安卓]Java';s相当于VB.NET';什么是静态关键字?_Java_Android_Vb.net_Syntax_Equivalent - Fatal编程技术网

什么是[安卓]Java';s相当于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

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中的静态关键字

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的答案是正确的。如果我是你,我会删除这个答案。