写一个实例,考察java类成员变量、成员方法、继承、多态

(1)编写一个圆类Circle,该类拥有:
①一个成员变量
Radius(私有,浮点型); // 存放圆的半径;
②两个构造方法
Circle( ) // 将半径设为0
Circle(double r ) //创建Circle对象时将半径初始化为r
③ 三个成员方法
double getArea( ) //获取圆的面积
double getPerimeter( ) //获取圆的周长
void show( ) //将圆的半径、周长、面积输出到屏幕
(2)编写一个圆柱体类Cylinder,它继承于上面的Circle类。还拥有:
①一个成员变量
double hight(私有,浮点型); // 圆柱体的高;
②构造方法
Cylinder (double r, double h ) //创建Circle对象时将半径初始化为r
③ 成员方法
double getVolume( ) //获取圆柱体的体积
void showVolume( ) //将圆柱体的体积输出到屏幕
编写应用程序,创建类的对象,分别设置圆的半径、圆柱体的高,计算并分别显示圆半径、圆面积、圆周长,圆柱体的体积。

package test;

/**
 * Created by tudou on 2020/4/11.
 */
public class test {//一个class文件中可以有多个class,但是只能有一个主类,该主类的名称须和文件名一致,且

    public static void main(String[] args) {
        Circle test = new Circle();
        Cylinder zhu = new Cylinder(1,2);
        zhu.showVolume();
//        test.setRadius(2);
//        test.show();
    }
}

class Circle {//其他的类,不能为public
    //①一个成员变量
    //成员变量是指方法外,类内部的变量
    private double Radius;//私有,浮点型,存放圆的半径;

    //②两个构造方法
    //此方法为无参构造方法
    //如果该类有子类的话,则必须要有一个无参构造方法,因为当new子类对象时会自动调用父类的无参构造方法
    Circle() {//将半径设为0
        Radius = 0.0;
    }

    Circle(double r) {//创建Cirecle对象时将半径初始化为r
        Radius = r;
    }

    double getRadius() {
        return Radius;
    }

    void setRadius(double radius) {
        //this代表当前的对象,这里用this.Radius,主要是用来与方法中的double radius作区分(因为很多时候是叫double adius)
        // 此处Radius和radius没有重名,实际可以写成Radius = radius
        this.Radius = radius;
    }

    //③三个成员方法
    double getArea() {//获取圆的面积
        return Radius * Radius * Math.PI;
    }

    double getPerimeter() {//获取圆的周长
        return 2 * Radius * Math.PI;
    }

    void show() {//将圆的半径、周长、面积输出到屏幕
        System.out.println("圆的半径为:" + this.Radius);//快捷键:先输入sout,再按Tab键
        System.out.println("圆的周长为:" + getPerimeter());
        System.out.println("圆的面积为:" + getArea());
    }

}

class Cylinder extends Circle {
    private double hight;//圆柱体的高
    private Circle circle;
    public Cylinder(double r,double h){
        super(r);
        hight = h;
    }

    public double getVolume(){
        return getArea()*hight;
    }
    public void  showVolume(){
        System.out.println("圆柱体的体积:"+getVolume());
    }
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容