【发布时间】:2010-08-03 17:05:38
【问题描述】:
好吧,这有点乱:
我正在使用 Netbeans,并且我有一个名为 ParameterUI 的主类。 (这是一个图形用户界面) 这个类在它的 GUI 上有几个滑块,因为这些是私有的,所以我有一个名为 getBounds() 的方法。我不想弄乱我的 GUI,所以基本上计算东西的所有重要方法都在另一个名为 Structure 的类中。所以 ParameterUI 调用了 Structure 中的一个方法,该方法调用了自身内部的另外几个方法,其中一个调用了 getBounds。
问题是getBounds不能是静态的,但如果不是我就不能调用它。
在 ParameterUI.class 中:
public int[] getBounds () {
int[] bounds = new int[2];
bounds[0] = jSlider2.getMinimum();
bounds[1] = jSlider2.getMaximum();
return bounds;
}
在 Structure.class 中:
private static void myMethod (Graphics g, double[] planet, long mass) {
int[] bounds = ParameterUI.getBounds(); //<-- doesn't work
}
使 myMethod 非静态似乎也无济于事。 恐怕虽然我知道静态与非静态的基础知识,但我已经很久没有使用类等进行编程了。
编辑:基本上,我知道问题出在哪里,我正在寻找更好的方法来解决它。
【问题讨论】:
-
如果是实例方法,为什么不能调用
getBounds? -
你不能从静态方法访问非静态方法。
标签: java static-classes