You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 15:06:06