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
相关产品推荐
相关产品推荐

