通过生成第一个类的对象,从另一个类更改一个类的静态整数的值。在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编辑不应用于建议答案或提供评论。如果您有答案或评论,请发布。不要对未引用的文本使用引号格式。意外删除了您的编辑。你能重新修改一下我做错了什么吗?