管理同一类的多个实例(Java)

管理同一类的多个实例(Java),java,class,object,instance,Java,Class,Object,Instance,嘿,我在java程序中管理同一类的多个实例时遇到了一些问题。我已经创建了一个java类的几个实例,其中包含一些方法,可以对类中的整数进行加法/减法运算,但实际情况是,所有实例都在进行加法和减法运算(请参见下面的代码),任何关于管理这些实例的提示都是非常有用的 Integerclass num1 = new Integerclass(); Integerclass num2 = new Integerclass(); Integerclass num3 = new Integerclass();

嘿,我在java程序中管理同一类的多个实例时遇到了一些问题。我已经创建了一个java类的几个实例,其中包含一些方法,可以对类中的整数进行加法/减法运算,但实际情况是,所有实例都在进行加法和减法运算(请参见下面的代码),任何关于管理这些实例的提示都是非常有用的

Integerclass num1 = new Integerclass();
Integerclass num2 = new Integerclass();
Integerclass num3 = new Integerclass();
num1.assignvalue(3);
num2.assignvalue(5);
num1.addone();
num2.subtractone();
System.out.println(num1.i);
System.out.println(num2.i);

那么,当我试图从integer类中从每个实例打印出整数“I”时,会发生什么情况呢?它们是相同的,尽管它们应该是不同的值,因为它们是不同的实例,并且我对它们进行了不同的加和减。

让我们一步一步地看一下

Integerclass num1 = new Integerclass();
Integerclass num2 = new Integerclass();
我们有两个新实例,
num1
num2

num1.assignvalue(3);
num1
现在是3

num2.assignvalue(5);
num2
现在是5

num1.addone();
num1
现在是4

num2.subtractone();
System.out.println(num1.i);
System.out.println(num2.i);
num2
现在是4

num2.subtractone();
System.out.println(num1.i);
System.out.println(num2.i);
num1
num2
都是4,因此它们将打印相同的内容


您的代码似乎很好。如果不进行完全相同的计算,它们将打印不同的值。

在此处添加
IntegerClass
,在这种情况下,由于1+3和5-1都是4,因此得到相同的数字并不奇怪……如果这里确实存在问题,那么最有可能的问题是“I”被声明为“静态”。不要那样做!删除“static”后,问题将神奇地解决。thx我删除了static,现在它似乎已经工作了(顺便说一句,我不是要使用5和3,它是用于任何整数,4是一个巧合)