如何使用关键字'这个'传递对象?工作?

时间:2017-04-26 00:51:38

标签: java this

我为学校作业编写了一个小游戏,我们不得不点击移动的椭圆来获得积分。 这是我制作的两个课程:

磁盘类

package hw22;
import processing.core.PApplet
public class Disk{
static PApplet cv;

Disk(PApplet canvas){
cv = canvas;} // end of disk constructor
}// End of disk class

myGame类

package hw22;
import processing.core.PApplet;

public class myGame extends PApplet {
//Some code
Disk d = new Disk(this);. //here I am passing it myGame
 // Do some stuff
}// End of myGame class

所以我的问题是:

如果我通过了磁盘类'构造函数是一个myGame对象,当它期待一个PApplet对象然后为什么我的游戏工作?不应该抱怨我传递错误类型的物体吗?

1 个答案:

答案 0 :(得分:1)

当你写myGame extends PApplet时,这意味着类myGame的任何对象 a PApplet,可能还有一些额外的常规PApplet对象没有的功能。但是,只要您的代码需要PApplet引用,myGame引用就可以了,因为myGame PApplet。由于您在this课程中使用myGamethis实际上是对myGame的引用。