在没有创建对象的新实例的情况下在方法中调用方法?

时间:2013-12-18 13:02:30

标签: java

我有一个按钮,可以添加到添加到框架的面板。 现在,当我单击此按钮时,我希望它调用方法eat(),这是Lion类的一种方法。现在,如果在mousePressed方法中包含新对象,我将如何执行此操作,下面每次单击时都会创建对象的新实例。我只想要一个对象实例并在该实例上调用该方法我该怎么做?

btnOpenNewFile.addMouseListener(new MouseAdapter() {
        public void mousePressed(MouseEvent e) {
            Lion adam = new Lion("Adam");
            Cat meo = new Cat("Meo");
            adam.eat(meo);


        }
    });

2 个答案:

答案 0 :(得分:3)

将对象定义为类的成员属性:

final Lion adam = new Lion("Adam");
public void clickMe(){
btnOpenNewFile.addMouseListener(new MouseAdapter() {
        public void mousePressed(MouseEvent e) {

            Cat meo = new Cat("Meo");
            adam.eat(meo);


        }
    });
}

答案 1 :(得分:1)

在外面创建它并在Listener中使用它,但你必须使它final。您可以在构造函数中初始化它!