我在同一个包中有两个 .java 文件。我计划将第一个 .java 文件作为底层代码,将第二个 .java 文件作为 GUI swing 界面。
我遇到的问题是在处理项目的 GUI 部分时,我需要使用代码从 .java 文件访问多个方法。我的 .java 文件及其代码如下:
package same;
public class HFSim extends ApplicationTemplate
{
private static class AppFrame extends ApplicationTemplate.AppFrame
{
public myMethodIWanttoUse()
{
//code
}
在我的 GUI .java 中:
package same;
public class GUI extends JFrame
{
public GUI()
{
public void actionPerformed(ActionEvent e)
{
//this is where I want to use the method from above
有没有办法让该方法在 GUI 部分使用?或者有更好的方法来解决这个问题吗?提前致谢。
最佳答案
您的问题有多种解决方案。您应该回答的第一个问题是您需要调用的这些方法如何限定自身。
- 它们是实用方法吗? (它们不需要对象实例即可工作)
- 它们是否附加到对象的单个实例?
- 您是否需要调用特定对象的方法而不仅仅是方法?
您可以:
声明它们
静态
并调用它们,例如HFSim.AppFrame.myMethoIWanttoUse();
声明包含它们的对象的静态实例,例如
public class HFSim extends ApplicationTemplate { public static final AppFrame appFrame = new AppFrame(); ... } public class GUI extends JFrame { public GUI() { public void actionPerformed(ActionEvent e) { HFSim.appFrame.myMethodIWanttoUse(); } } }
将对象的实例传递给另一个对象:
public class GUI extends JFrame { private final HFSim.AppFrame appFrame; public GUI(HFSim.AppFrame appFrame) { this.appFrame = appFrame; } public void actionPerformed(ActionEvent e) { appFrame.myMethodIWanttoUse(); } }
关于java - 有没有办法在类之间使用方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24563505/