你如何从不同的包中调用方法?

How do you call a method from a different package?

我不知道如何从不同的包中调用此方法,因为我想做的是创建一个关闭框架的关闭方法,但我不知道如何调用它!

第一个包裹:

JMenuItem mntmExit = new JMenuItem("Exit");
    mntmExit.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {

            // This below for some reason does not work!

            close c = new close();
            c.closer();
        }
    });
    mnMenu.add(mntmExit);

第二个包裹:

@SuppressWarnings("serial")
public class close extends JFrame {

    public close() {}

    public void closer() {

        WindowEvent winClosingEvent = new WindowEvent(this, WindowEvent.WINDOW_CLOSING);
        Toolkit.getDefaultToolkit().getSystemEventQueue().postEvent( winClosingEvent );

    }
}

应该导入第二个包的class

所以假设 class 'Close'(我建议称它为 'Close' 而不是 'close')在一个名为 'second.pack' 的包中,那么首先 class 应该有一个导入语句如下:

import second.pack.Close;

更完整的例子

第一个class

package first.pack;

import second.pack.Second;

public class First {

    public void method1() {

        Second second = new Second();
        second.method2();

    }
}

第二个class

package second.pack;

public class Second {

    public void method2() {

    }

}