Java面向对象的继承性

如何编写一个父类Circle,有1个成员变量radius;一个getarea方法,用来计算圆的面积。再编写一个子类YuanZhui,有一个成员变量height,有一个方法 getyolumeO,求圆锥体的体积。编写测试类 Test,创建子类的对象,最后输出圆锥体的体积

写好了

img


import java.util.*;

public class Main {

   
    public static void main(String args[])

    {

        Circle c = new Circle(4);

        c.show();

           YuanZhui t = new YuanZhui(4);

          System.out.println("体积"+t.getyolumeO());

    }

}
class Circle{
 protected double Radius;

    public void setRadius(double r)

    {

        this.Radius = r;

    }

    public Circle()// 无参构造方法

    {

        this.Radius = 3;



    }

    public Circle(double r)// 带参构造方法

    {

        this.Radius = r;

    }

    public double getRadius()
    {

        return this.Radius;

    }

    public double getArea()// 求圆的面积

    {

        double r = this.Radius;

        return r * r * 3.14;

    }


    public void show()
    {

        System.out.println("面积=" + this.getArea());
    }


}

class YuanZhui extends Circle{

private  double height;
  public YuanZhui(double h)// 带参构造方法

    {

        this.height = h;

    }

    public double getyolumeO(){
        double volume =Math.PI * Radius * Radius * height/ 3;

        return volume;
    }
}

这个不是基础的练习吗,不知道你在这里问这个的目的是要个答案交作业,还是真正想学习?


package test2;

public class Circle {
    private final static double PI = 3.14;
    private double radius;

    public double getArea() {
        return PI * radius * radius;
    }

    public double getRadius() {
        return radius;
    }

    public void setRadius(double radius) {
        this.radius = radius;
    }
}

class YuanZhui extends Circle{
    private double height;

    public double getyolume() {
        return  getArea() * 1/3;
    }

}

class Test {
    public static void main(String[] args) {
        YuanZhui yuanZhui = new YuanZhui();
        yuanZhui.setRadius(5.32);
        double tiji = yuanZhui.getyolume();
        System.out.println("圆锥体的体积是:" + tiji);
    }
}

public class Circle {
    public Double radius;
    public double getarea(){
        return Math.PI * radius *radius;
    }
}

public class YuanZhui extends Circle{
    public Double height;
    public double getyolumeO(){
        return 1.0/3*super.getarea()*height;
    }
}

public class test {
    public static void main(String[] args) {
        YuanZhui yuanZhui = new YuanZhui();
        Scanner inputRadius = new Scanner(System.in);
        System.out.println("请输入半径值:");
        yuanZhui.radius = inputRadius.nextDouble();
        Scanner inputHeight = new Scanner(System.in);
        System.out.println("请输入高:");
        yuanZhui.height = inputHeight.nextDouble();
        double v = yuanZhui.getyolumeO();
        System.out.println("体积:"+v);

    }
}

 



public class Test {
    public static void main(String[] args) {
        Circle circle = new Circle(3);
        System.out.println("圆的面积:"+circle.getArea());
        YuanZhui yuanZhui = new YuanZhui(5); // 构造圆锥函数
        yuanZhui.setRadius(4); // 设置圆的半径
        System.out.println("圆锥的体积:"+yuanZhui.getYolumeO());
    }
}

class Circle{
    private double radius;

    public Circle(){ // 无参构造函数

    }

    public Circle(double radius) { // 有参构造函数
        this.radius = radius;
    }

    public double getRadius() {  // 获取半径
        return radius;
    }

    public void setRadius(double radius) { // 设置半径
        this.radius = radius;
    }

    public double getArea(){  // 求圆的面积
        return radius * radius * 3.14;
    }

}

class YuanZhui extends Circle{

    private double height;

    public YuanZhui(double h) { // 有参构造函数
        this.height = h;
    }

    public double getYolumeO(){  // 求圆锥的体积
        return super.getArea() * height / 3;
    }
}