我正在尝试制作一个表示100位整数的类。并不是因为我需要它,而是要了解有关构造函数的更多信息。构造函数采用String(所有数字)并将每个数字放入数组的元素中。索引0是一个位置,索引1是十个位置,...每当我尝试创建第二个对象(Bint)时,它都会用第二个Bint的字段替换第一个Bint的所有字段。 (Bint =大整数)

public class Bint
{
// Fields:
private static int[] nums = new int[100];

// Constructor:
public Bint(String s)
{
  for(int i = 0; i < s.length(); i++)
  {
    nums[i] = Integer.parseInt("" + s.charAt(s.length() - i - 1));
  }
}

  ...

public static void main(String[] args)
{
  Bint b1 = new Bint("12");
  Bint b2 = new Bint("23");
  System.out.println(toString(add(b1, b2)));
}


打印出46(23 + 23,因为b2以某种方式替换了构造函数中的b1。)

任何帮助表示赞赏,谢谢!

最佳答案

static字段属于类,并且不特定于该类的任何对象。

建议阅读:http://docs.oracle.com/javase/tutorial/java/javaOO/classvars.html

09-25 21:03