我正在设计和编写程序来编写机器代码(用于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)
感谢您的时间!