首页 > 编程语言 > 详细

第六周&java实验报告四

时间:2019-10-08 00:33:19      阅读:134      评论:0      收藏:0      [点我收藏+]

一.实验目的
(1)掌握类的继承方法
(2)变量的继承和覆盖,方法的继承,重载和覆盖实现
二.实验内容

(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类,接上键盘的输入值作为圆的半径和圆柱体的高,计算圆柱体的体积

源代码

package task;
import java.util.Scanner;


       class Circle {
                private  double radius;
                
                public Circle(){          //构造方法,将半径置为0
                    this.setRadius(0);
                }
                
                public Circle(double r){   //构造方法,创建Circle对象时将半径初始化为r
                    this.setRadius(r);
                }
                
                public double getRadius() {   //获得半径的值
                return radius;
            }

            public void setRadius(double radius) {
                this.radius = radius;
            }
              public double getPerimeter() {  //获得周长
                  return getRadius()*2*Math.PI;
              }
              public double getArea() {    //获得面积
                  return Math.PI*getRadius()*getRadius();
              }
              public void disp(){ 
                  System.out.println("圆的半径:"+getRadius()+"  圆的周长:"+getPerimeter()+"  圆的面积:"+getArea()); 
              }
        }
              class Cylinder extends Circle{
                private double height;    

                public double getHeight() {
                    return height;
                }

                public void setHeight(double height) {
                    this.height = height;
                }
                Cylinder (double r,double h){
                       this.setRadius(r); 
                       this.setHeight(h);
                }
                 
                public double getVol(){ 
                    return getArea()*getHeight(); 
                } 
                 
                public void dispVol(){ 
                    System.out.println("圆柱的体积:"+getVol()); 
                } 
           }       
              public  class Jicheng{
                    public static void main(String[] args){
                        System.out.println("输入圆的半径");
                            Scanner sc=new Scanner(System.in); 
                        double r=sc.nextDouble();
                        System.out.println("输入圆柱的高");
                        double h=sc.nextDouble();
                        Cylinder Cy=new Cylinder(r,h);
                        Cy.disp();
                        Cy.dispVol();
                    }
                }

  

实验结果
技术分享图片

 

 

学习总结

1.super关键字
使用super可以访问父类中的方法和属性。
调用父类构造,必须放在子类构造方法的首行,因此与this不能同时出现。
2.final关键字
使用final声明的类不能有子类。
使用final声明的方法不能被子类所覆写。
使用final声明的变量即为常量,不可修改。
3.继承知识点:只允许多层继承不能够多重继承,即一个子类只可以继承一个父类。

4.子类是不可以直接访问父类的私有成员的,但是子类可以调用父类的非私有方法,但是不能够直接调用父类的私有成员。

第六周&java实验报告四

原文:https://www.cnblogs.com/hualikun/p/11633086.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!