别着急打代码,等我抽根烟先————<( ̄ c ̄)y▂ξ 抽烟———— 博客首页

第六周课程总结&实验报告(四)

第六周&java实验报告四

一.实验目的

1)掌握类的继承
在java中可以使用instanceof关键字判断一个对象到底是不是哪个类的实例
接口要使用也必须通过子类,子类通过implements关键字实现接口
2)变量的继承和覆盖,方法的继承,重载和覆盖的实现;
一个子类可以同时继承抽象类和实现接口
class 子类 extends 抽象类 implements 接口A,接口B.....{}
(3)接口和抽象的限制
·允许一个抽象类实现多个接口
一个接口是不允许继承抽象类的
允许一个接口继承多个接口
一个接口不能继承一个抽象类,但是可以通过extends关键字同时继承多个接口,实现接口的多继承。

二.实验的内容

 

1)根据下面的要求实现圆类Circle。

1.圆类Circle的成员变量:radius表示圆的半径。
2.圆类Circle的方法成员:
       Circle():构造方法,将半径置0

       Circle(double r):构造方法,创建Circle对象时将半径初始化为r

       double getRadius():获得圆的半径值

       double getPerimeter():获得圆的周长

       void disp():将圆的半径和圆的周长,圆的面积输出到屏幕

(2)继承第一题中的圆Circle类,派生圆柱体类Cylinder。要求如下:

1.圆柱体类Cylinder的成员变量:height表示圆柱体的高。

2.圆柱体类Cylinder的成员方法:

        Cylinder(double r,double h)构造方法,创建Cylinder对象时将圆半径初始化为r,圆柱体高初始化为h。

        double getHeight():获得圆柱体的高

        double getVol():获得圆柱体的体积

        void dispVol():将圆柱体的体积输出到屏幕

3.按照第二题的Cylinder类,接上键盘的输入值作为圆的半径和圆柱体的高,计算圆柱体的体积

 

三.实验代码

 

 

public class Circle {
    private double radius;
    private double perimeter;
    public void Circle(){
        this.radius=0;

    }
    public void Circle(double radius){
        this.radius=radius;
    }
    public void setRadius(double radius){
        this.radius=radius;
    }
    public double getRadius(){
        return radius;
    }
    public void setPerimeter(){
        this.perimeter=2*Math.PI*radius;
    }
    public double getPerimeter(){
        return perimeter;
    }
    public void disp(){
        System.out.println("半径:"+radius);
        System.out.println("周长:"+perimeter);
        System.out.println("面积:"+(Math.PI*Math.pow(radius,2)));
    }
}

 

继承第一题中的圆Circle类,派生圆柱体类Cylinder。要求如下:

1.圆柱体类Cylinder的成员变量:height表示圆柱体的高。

2.圆柱体类Cylinder的成员方法:

    Cylinder(double r,double h)//构造方法,创建Cylinder                              

//对象时将圆半径初始化为r,圆柱体高初始化为h。 double getHeight() //获得圆柱体的高 double getVol() //获得圆柱体的体积 void dispVol() //将圆柱体的体积输出到屏幕

3.按照第二题的Cylinder类,接上键盘的输入值作为圆的半径和圆柱体的高,计算圆柱体的体积

public class Cylinder extends Circle {
    private double height;
    private double vol;
    public void Cylinder(double radius,double height){
        this.height=height;
        this.setRadius(radius);
    }
    public double getHeight(){
        return height;
    }
    private void setHeight(double height){
        this.height=height;
    }
    public double getVol(){
        vol=(Math.PI*Math.pow(getRadius(),2)*height);
        return vol;
    }
    public void dispVol(){
        System.out.println("体积:"+vol);
    }
}
import java.util.Scanner;
public class Test {
    public static void main(String[] args){
        System.out.print("请输入半径:");
        Scanner r1=new Scanner(System.in);
        double r=r1.nextDouble();
        System.out.print("请输入高:");
        Scanner h1=new Scanner(System.in);
        double h=h1.nextDouble();
        Cylinder cyl=new Cylinder();
        cyl.Cylinder(r,h);
        cyl.getVol();
        cyl.dispVol();
    }
}

结果:

 

 

总结

instanceof关键字接口  ,继承抽象类实现接口 以及实现接口接口和抽象类的使用限制

posted @ 2019-10-06 00:01  九亿  阅读(317)  评论(0编辑  收藏  举报
我抽完了也不想写————(~ ̄▽ ̄~) 装傻———— 博客首页