UPDATE
public Fish mate(Fish other){
if (this.health > 0 && other.health > 0 && this.closeEnough(other)){
int babySize = (((this.size + other.size) /2));
int babyHealth = (((this.health + other.health) /2));
double babyX = (((this.x + other.x) /2.0));
double babyY = (((this.y + other.y) /2.0));
new Fish (babySize, babyHealth, babyX, babyY);
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
什么时候new Fish被调用,是否有一个新的实例Fish在没有引用的地方浮动或者我刚刚为新Fish实例分配内存而没有实际实例化它?
我可以new Fish调用创建一个Fish具有唯一引用名称的实际实例,而不是迭代循环吗?
当
Fish调用new时,是否有一个新的Fish实例在没有变量名的情况下浮动,或者我是否只为新Fish实例分配内存而没有实际实例化它?
Fish将创建一个新对象,并且将对其进行垃圾收集,因为没有对它的引用.垃圾收集将在构造函数完成后(某个时间)Fish进行.
在你的情况下没有多大意义,但有时它确实如此,如果实例化一个对象将启动一个新的Thread或运行一些你想要只运行一次的其他例程.
如果我只分配了内存或
Fish没有名称,我如何获得新Fish调用以创建具有Fish唯一变量名称的实际实例?
这不是很清楚.但是我觉得你只是想把return new Fish(...);它自己分配给一个变量,你可以在其中调用它,例如:
Fish babyFish = femaleFish.mate(maleFish);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
192 次 |
| 最近记录: |