将实例存储到java中的数组中

时间:2018-01-31 17:36:25

标签: java arrays instances

我正在开发一个项目,我有一堆按钮,大多分成两组,我想通过一个数组来处理这些组。每个按钮都是class Button extends JButton的实例,每个实例都有自己的值(this.value = ".."

问题在于,似乎数组正在填充前面提到的实例,但是当我尝试访问它们时,它就像数组一样充满了空值。

Button but1, but2, but3;
Button[] buttonNumbers = {but1, but2, but3};

System.out.println(buttonNumbers.length);     // returns 3, so it acts like array IS filled
System.out.println(but1.value);               // prints whatever the value is
System.out.println(buttonNumbers[0].value);    // throws error, element acts like null

有人可以帮助我,问题出在哪里或者我错过了什么? 感谢您的每一个提示或答案!

1 个答案:

答案 0 :(得分:3)

您似乎没有初始化每个Button!您需要使用您定义的任何参数为每个Button调用其构造函数:

Button but1 = new Button(), but2 = new Button(), but3 = new Button();
Button[] buttonNumbers = {but1, but2, but3};

System.out.println(buttonNumbers.length);     // returns 3, so it acts like array IS filled
System.out.println(but1.value);               // prints whatever the value is
System.out.println(buttonNumbers[0].value);