新功能到底要做什么,这行到底要说什么?

时间:2019-05-11 00:21:29

标签: java

我想确切地知道“ new”函数在java中的作用。另外,第8行发生了什么事?

我是Java的新手,并且在编码方面有一点经验,但是我只想确切地知道发生了什么。

Star[] stars = new Star[1200];

void settings() {
  size(800, 800);
}

void setup() {
  for (int i = 0; i < stars.length; i++) {
   stars[i] = new Star(); 
  }
}

void draw() {
 background(0);
 translate(width/2, height/2); 
 for (int i = 0; i < stars.length; i++) {
   stars[i].update();
   stars[i].show();
  }
}

此代码与另一个小文件一起构成一个场景,其中星光朝着您移动。它做到了,但是,我对I

EDIT 通过一些研究,我发现新功能完全按照其说的去做,每次调用时都会创建一个新对象。

1 个答案:

答案 0 :(得分:1)

stars变量是一个数组。由于第一行的[1200],它有1200个房间。

enter image description here

例如,如果您有一个像这样的数组

String [] a =新的String [3]

您刚刚为String值创建了三个空格。您可以输入值。

a[0] = "a"
a[1] = "b"
a[2] = "c" 

请注意,第一个空格的索引为0。(请不要混淆。)

现在,

void setup() {
  for (int i = 0; i < stars.length; i++) {
   stars[i] = new Star(); 
  }
}

enter image description here

第8行是关于Java For循环的。

stars.length-length()方法将告诉您长度,即1200 int i变量将从0开始,而int++则每次增加1。 像0,1,2,3,4 ........一样,直到i < starts.length我达到1199。

我不知道您的Star类,但是您知道1200个空格

stars[0] = new Star();
stars[1]  = new Star();
// This goes on until
starts[1199] = new Star();

Star类将放置应该为1200个空格设置的任何值。