Java - 使用对象存储可由多个其他类使用的变量

时间:2013-04-17 09:19:01

标签: java variables global-variables

我正在设计和编写程序来编写机器代码(用于CNC机器的G代码),这本质上是一个长格式的String。我有一个完整的设计,但它依赖于我能够在一个类(一个JFrame)中创建一个对象,而另一个类使用一个" lookupValue()"方法作为该类中变量的setter。我从圣诞节开始就开始使用Java,而我的研究(主要是关于Java和面向对象编程的教科书)让我相信这是可能的......

每个机器程序都有一些常量,例如条形直径(代码中的BarDia),然后在生成加工块(新对象)时使用。我有类ProgramConstants,用于在JFrame中单击按钮时创建Object ProgConstants,然后我想使用ProgConstants中的getter来获取我在" MachiningBlock"中的值。类。

我找不到写" lookupValue()"的方法。方法。我需要为不同的变量用几个类做这个,但如果我可以做一个,那么我可以复制它。

ProgramConstants类:

package mainClasses;
package mainClasses;

public class ProgramConstants{
//machine program constants here, only focusing on BarDia
private double BarDia
... more variables

public void setBarDia(double BD){
BarDia = BD;
}

public doule getBarDia(){
return BarDia;
}
}

使用此类(如下所示)创建一个对象ProgConstants来存储这个(机器)程序的这些值。

在JFrame(EnterProgramConstants)中的动作侦听器之后的方法,从Jtext框和JcomboBox中获取值以“填充”' ProgConstants中的varibales:

public void actionPerformed(ActionEvent e) {

ProgramConstants ProgConstants = new ProgramConstants();
double BarDia = Double.parseDouble(txtBarDia.getText());
double PartLength = Double.parseDouble(txtPartLength.getText());
//similar code for other variables 

所以现在我有一个知道我的BarDia和其他值的对象ProgConstants,但是如何从另一个类访问它?例如MachingBlock: 该类是抽象的,因为它将继承而不用作最终类。

public abstract class MachiningBlock extends ProgramConstants{

private double BarDia;
//other variables

public void lookupBarDia(){
//something like 
ProgConstants.getBarDia()

显然这不是因为对象尚未在这里初始化,但是有两个对象ProgConstants不能满足我的目的,因为它不包含我需要的变量。

只是在正确的方向上推动在这里真的很有帮助,我已经看过StackOverflow和其他论坛,对不起,如果一个类似的问题已被回答并且我已经错过了它!任何类似的问题似乎都可以通过"使用getter和setter"来回答。希望这是一个我忽略的基本问题,对于有经验的程序员来说,解决方案是显而易见的!

我尝试使用内置检测器方法(如下面链接中的问题所示),但这似乎不起作用。
Java Reflection: How can i get the all getter methods of a java class and invoke them

感谢您的时间!

0 个答案:

没有答案