Java入门问题:如何将当前类的输出值传递到其他Java类中使用
Java类间传递Swing输入数值的实现方法
你可以通过参数传递的方式实现需求,具体实现方案如下:
方式1:直接传参调用方法(适合单次计算场景)
首先创建独立的业务处理类,封装你需要执行的逻辑(比如求和):
// 独立的计算业务类,和Swing界面类解耦 public class Calculator { // 定义接收三个int参数的求和方法 public int sum(int xi, int yi, int zi) { return xi + yi + zi; } }
然后修改你现有Main类中按钮的点击事件逻辑,拿到三个int值后直接实例化业务类,传入参数调用方法即可:
chk.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // 增加输入合法性校验,避免非数字输入导致崩溃 try { int xi = Integer.parseInt(x.getText().trim()); int yi = Integer.parseInt(y.getText().trim()); int zi = Integer.parseInt(z.getText().trim()); System.out.printf("你输入的X值是 %d\n",xi); System.out.printf("你输入的Y值是 %d\n",yi); System.out.printf("你输入的Z值是 %d\n",zi); // 类间传值核心逻辑 Calculator calculator = new Calculator(); int result = calculator.sum(xi, yi, zi); // 输出结果 System.out.println("求和结果为:" + result); } catch (NumberFormatException ex) { JOptionPane.showMessageDialog(Main.this, "请输入合法的整数", "输入错误", JOptionPane.ERROR_MESSAGE); } } });
方式2:封装为对象传递(适合多方法复用数值的场景)
如果后续有多个方法都需要用到这三个数值,可以先把三个值封装为实体类对象再传递:
// 数值封装实体类 public class Point3D { private final int x; private final int y; private final int z; public Point3D(int x, int y, int z) { this.x = x; this.y = y; this.z = z; } // 提供getter方法供外部读取数值 public int getX() { return x; } public int getY() { return y; } public int getZ() { return z; } }
调用时直接传递实体对象即可:
// 生成封装对象 Point3D point = new Point3D(xi, yi, zi); // 其他类的方法只需要接收Point3D类型参数即可读取所有数值
内容的提问来源于stack exchange,提问作者user1947735
相关产品推荐
相关产品推荐

