来自C ++的静态修饰符,但使用Java?

时间:2019-09-29 13:46:44

标签: java c++

我正在寻找Java中与C ++中的Static具有相同目的的修饰符。我的意思是,该变量仅在函数中初始化一次,然后每次我们再次调用该函数时,都会保存上一次调用中的值。这就是代码在C ++中的样子:

void counter()
{
    static int count=0;
    cout << count++;
}

int main()
{
    for(int i=0;i<5;i++)
    {
        counter();
    }
}

并且输出应为0 1 2 3 4,是否有相同目的的东西,但是在Java中?

3 个答案:

答案 0 :(得分:0)

希望这会有所帮助..// 您需要先创建一个构造函数。

 public class answer2 {
 static int count =0;
 answer2() {
    System.out.println(count);
    count++;
}
public static void main(String[]args) {
    for(int i=0;i<5;i++) {
    new answer2();
    }
}
 }

答案 1 :(得分:0)

通常只将静态变量定义为类成员。 Java开发人员提倡面向对象的编程,因此,即使您的主要功能也是在另一个与您的程序名称相同的类中定义的方法。

现在要问您是否要定义静态变量:


    public class abc

    {
       public static int count = 0;
    }

    public class xyz
    {
       public void increment()
       {
           abc.count++;
       } 

       public static void main(String[] args)
       {
          System.out.println(abc.count);
          increment();
          System.out.println(abc.count);
       }
    }

希望有帮助。

答案 2 :(得分:0)

看起来像是从Java开始。为了帮助您理解这个概念,我编写了相同的代码并附带了注释以供您理解。

package yourXYZpackage;

public class yourABCclass{

//Declare in class body so your methods(functions) can access 
//and the changes made will be global in C++ context.  
  static int count=0; 

  void counter()
  {
        count = count++;
        System.out.println(count); 
        //thats how you can display on console
  }
  //this is the main method like C++
  public static void main(String[] args){
      
      for(int i=0;i<5;i++)
      {
          counter();
      }
  }
}