注册 登录
编程论坛 JAVA论坛

JAVA调用小问题

jkllkjopp 发布于 2016-07-12 23:49, 2142 次点击
开门见山:
这是主类里面的一句:
        handlers.put("bye", new HandlerBye(this));

这是HandlerBys类里面:
public HandlerBye(Game game){
        super(game);
    }
    @Override
    public boolean isBye() {
        return true;
    }

小弟就想问下为什么主类里面要加上this??求大神帮忙解答!!!
4 回复
#2
jkllkjopp2016-07-12 23:51
漏传了HandlerBys一部分:
public class HandlerBye extends Handler{
    public HandlerBye(Game game){
        super(game);
    }
    @Override
    public boolean isBye() {
        return true;
    }
   
}

其中Handler里面是:
public Handler(Game game){
        this.game = game;
    }
#3
ThimothyJose2016-07-13 11:22
this 代表 Game
#4
jkllkjopp2016-07-14 17:11
回复 2楼 jkllkjopp
(⊙o⊙)…额。。。能再详细一些么。。。
#5
aijiao06242016-07-19 14:48
public Handler(Game game){
         this.game = game;
     }
这段代码是Handler类的构造函数,在new Handler类的时候传入一个参数,这个参数在构造函数中赋值。
this.game = game;
this.game指当前Handler类中的game,而public Handler(Game game)中传进来的参数是new Handler时传递的参数,要把传入的参数赋值给当前类的game。因为两个game本身不是一个对象。
最后总结一句话,this.game=game,等于:当前类的game=接收到的game。
1