Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.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中可能吗?_Java_Class - Fatal编程技术网

通过生成第一个类的对象,从另一个类更改一个类的静态整数的值。在Java中可能吗?

通过生成第一个类的对象,从另一个类更改一个类的静态整数的值。在Java中可能吗?,java,class,Java,Class,让我们举一个例子: class A { public static int a=0 void sampleFunction () { //some code which always runs a++; } } 我们还有另一门课: class B { A object=new A(); void sample () { //now we have some conditions if(condition 1) {

让我们举一个例子:

class A {
  public static int a=0
    void sampleFunction () {
    //some code which always runs
    a++;
    }
}
我们还有另一门课:

class B {
   A object=new A();
   void sample () {
      //now we have some conditions
      if(condition 1) {
         object.sampleFunction();
         //value of a increases each time the function is called
       }
      else if(condition 2) {
         object.a=0;
       }
    }
}
我的问题是,假设sample函数被调用了5次,那么a的值是5。现在,条件2已满足。 同样,我们满足条件1,所以再次调用sample函数。a的新值是6还是1?答案是1

因为根据伪代码中的定义,条件2中的子句会将对象(类a)中静态变量a的值设置为0

不确定这个问题的真正意图是什么,但如果你是 要了解什么是静态变量,请查看:

有时,您希望拥有对所有对象通用的变量。 这是通过“静态”修改器完成的。具有 声明中的静态修饰符称为静态字段或类 变量。它们与类相关联,而不是与任何类相关联 对象该类的每个实例都共享一个类变量,即 在内存中的一个固定位置。任何对象都可以更改 类变量,但类变量也可以在没有 创建类的实例


1
当然(我相信你的意思是,当条件2满足时,在那一刻,条件1不满足,对吧。。。无论如何,它不应该是您可以自己轻松测试的东西吗?您不需要类的实例来更新静态变量
A.sampleFunction()
如果仅此而已,则应为静态变量。您需要了解静态变量是什么,以及如何为静态变量used@noone编辑不应用于建议答案或提供评论。如果您有答案或评论,请发布。不要对未引用的文本使用引号格式。意外删除了您的编辑。你能重新修改一下我做错了什么吗?