整数错误

时间:2018-05-12 22:38:11

标签: java member static-members

我正在开展一个大项目,但是对于这个问题,我写了一个简单的问题示例。我有2节课。

public class Main
{
    public static void main(String[] args)
    {
        CustomType[] customType = new CustomType[3];

        for(int i = 0; i < 3; i++)
        {
            customType[i] = new CustomType(i);
        }

        for(int i = 0; i < 3; i++)
        {
            System.out.println("Main " + customType[i].integer);
        }
    }
}

public class CustomType
{
    public static int integer;

    public CustomType(int input)
    {
        integer = input;
        System.out.println("CustomType: " + integer);
    }
}

我得到以下输出:

CustomType: 0
CustomType: 1
CustomType: 2
Main 2
Main 2
Main 2

但我希望得到这个:

CustomType: 0
CustomType: 1
CustomType: 2
Main: 0
Main: 1
Main: 2

1 个答案:

答案 0 :(得分:0)

FORALL是提示..

为什么您认为static变量首先会绑定到特定实例?

尝试使用static代替public int integer;并查看实例变量背后的魔力。