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

Java继承学习疑问:如何打印方法的返回值?

Java继承:如何打印方法返回值

嘿,我来帮你搞定这个问题!你现在在学习Java继承,卡在怎么打印方法返回值这一步对吧?先把你的Cylinder子类补完整,然后一步步教你怎么输出这些返回值。

第一步:补全Cylinder子类代码

你的Cylinder代码写到构造方法就中断了,我先帮你补全一个完整的版本,包含构造方法、height的getter/setter,还有圆柱体积的计算方法:

public class Cylinder extends Circle { 
    private double height; 

    // 无参构造方法,默认height为1.0,同时调用父类的无参构造
    public Cylinder() { 
        super(); // 调用父类Circle的无参构造,初始化radius为1.0
        height = 1.0; 
    } 

    // 带参数的构造方法,初始化radius和height
    public Cylinder(double radius, double height) { 
        setRadius(radius); // 调用父类的setRadius方法设置半径
        this.height = height; 
    } 

    public double getHeight() { 
        return height; 
    } 

    public void setHeight(double h) { 
        height = h; 
    } 

    // 计算圆柱体积:底面积(继承自Circle的findArea)* 高
    public double findVolume() { 
        return findArea() * height; 
    } 
}

注:如果想让代码更规范,可以给Circle类加一个带参构造:

// 在Circle类里添加带参构造
public Circle(double radius) {
    this.radius = radius;
}

这样Cylinder的带参构造就可以直接用super(radius)调用父类构造,代替setRadius(radius)。

第二步:编写测试类,打印方法返回值

接下来我们写一个Main类,创建对象并调用方法,把返回值打印出来,有两种常用方式:

方式1:直接在System.out.println()里调用方法

这种方式适合只需要打印一次返回值的场景,代码更简洁:

public class Main {
    public static void main(String[] args) {
        // 创建一个默认参数的圆柱对象
        Cylinder cylinder1 = new Cylinder();

        // 打印继承自Circle的方法返回值
        System.out.println("默认圆柱的半径:" + cylinder1.getRadius());
        System.out.println("默认圆柱的底面积:" + cylinder1.findArea());
        // 打印Cylinder自身方法的返回值
        System.out.println("默认圆柱的高度:" + cylinder1.getHeight());
        System.out.println("默认圆柱的体积:" + cylinder1.findVolume());

        // 创建一个自定义参数的圆柱对象
        Cylinder cylinder2 = new Cylinder(3.0, 5.0);
        System.out.println("\n自定义圆柱的半径:" + cylinder2.getRadius());
        System.out.println("自定义圆柱的底面积:" + cylinder2.findArea());
        System.out.println("自定义圆柱的体积:" + cylinder2.findVolume());
    }
}

方式2:先存变量再打印

如果需要多次使用返回值,或者想让代码逻辑更清晰,可以先把返回值存入变量:

public class Main {
    public static void main(String[] args) {
        Cylinder cylinder = new Cylinder(2.0, 4.0);

        // 获取返回值并存入变量
        double radius = cylinder.getRadius();
        double bottomArea = cylinder.findArea();
        double volume = cylinder.findVolume();

        // 打印变量
        System.out.println("圆柱半径:" + radius);
        System.out.println("圆柱底面积:" + bottomArea);
        System.out.println("圆柱体积:" + volume);
    }
}

关键小提示

  • 因为Cylinder继承了Circle,所以Cylinder的对象可以直接调用Circle里的非私有方法(比如getRadius()、findArea()),这就是继承的优势——不用重复写相同逻辑的代码。
  • 所有带返回值的方法(比如返回double类型的方法),只要调用它就能拿到对应的返回值,要么直接拼在打印语句里,要么存到变量里再打印,两种方式都能实现你的需求。

运行Main类之后,你就能看到所有方法的返回值都被清晰打印出来啦!

内容的提问来源于stack exchange,提问作者YiMong

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:28:56