zoukankan      html  css  js  c++  java
  • Java实验报告(四)&第六周学习总结

    班级 计科二班 学号 20188425 姓名 IM
    完成时间2019/10/07
    评分等级

    一.实验目的

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

    实验代码1):

    package Circle;
    import java.util.*;
    class Circle
        {
        private double banjing;
        
        public Circle()
        {
            this.setRadius(0);
        }
        public Circle(double r)
        {
            this.setRadius(r);
        }
        public void setRadius(double r) 
        { 
            banjing = r; 
        } 
        public double getRadius() 
        {
            return banjing; 
        } 
        public double getzhouchang()
        {
            return 2*Math.PI*banjing;
        }
        public double getmianji()
        {
            return Math.PI*banjing*banjing; 
        } 
        public void canshudisp() {
            System.out.print("圆的半径:"+banjing);
            System.out.print("圆的周长:"+2*Math.PI*banjing);
            System.out.println("圆的面积:"+Math.PI*banjing*banjing);
        }
    }
    package 实验室;
    
    import java.util.Scanner;
    
    public class demo1 {
    	private static Scanner x;
    
        public static void main(String[] args) {
            Circle yuan=new Circle();
            yuan.canshudisp();
            System.out.print("圆的半径:");
            x = new Scanner(System.in);
            double r=x.nextDouble();
            Circle yuan2=new Circle(r);
            yuan2.canshudisp();
        }
    }
    

    运行结果截图:

    实验代码2):

    package 实验室;
    import java.util.*;
    class Circle
        {
        private double banjing;
        
        public Circle()
        {
            this.setRadius(0);
        }
        public Circle(double r)
        {
            this.setRadius(r);
        }
        public void setRadius(double r) 
        { 
            banjing = r; 
        } 
        public double getRadius() 
        {
            return banjing; 
        } 
        public double getzhouchang()
        {
            return 2*Math.PI*banjing;
        }
        public double getmianji()
        {
            return Math.PI*banjing*banjing; 
        } 
        public void canshudisp() {
            System.out.print("圆的半径:"+banjing);
            System.out.print("圆的周长:"+2*Math.PI*banjing);
            System.out.println("圆的面积:"+Math.PI*banjing*banjing);
        }
    }
    class Cylinder extends Circle{
        private double height;
        public Cylinder(double r,double h) {
            super(r);
            this.setHeight(h);
        }
        public void setHeight(double h) {
            height=h;
        }
        public double getHeight() {
            return height;
        }
        public double getVol() {
            return getmianji()*height;
        }
        public void disp() {
            System.out.println("圆柱体体积:"+getVol());
        }
    }
    
    package 实验室;
    import java.util.Scanner;
    
    public class demo3{
        private static Scanner a;
        private static Scanner b;
    
        public static void main(String[] args) {
            System.out.print("圆柱体半径是:");
            a = new Scanner(System.in);
            double r=a.nextDouble();
            System.out.print("圆柱体的高为:");
            b = new Scanner(System.in);
            double h=b.nextDouble();
            Cylinder yuan3=new Cylinder(r,h);
            yuan3.disp();
        }
    }
    

    运行结果截图:

    学习总结:

    学到了什么:

    1、接口的基本概念:接口可以理解为一种特殊的类,里面全部是由全局常量和公共的抽象方法所组成。
    其定义格式为:

    interface 接口名称{
            全局常量;
            抽象方法;
    }
    
    • 在接口中的抽象方法必须是定义成public访问权限。
    • 接口要实现必须通过子类(实现类),子类通过 implements关键字实现接口。

    2、对象的多态性:

    1) 向上转型:子类对象→父类对象。
    2)向下转型:父类对象→子类对象。
    
    • 向上转型,程序会自动完成,向下转型,必须明确的指明要转型的子类类型:
    对象向上转型:父类 父类对象 = 子类实例;
    对象向下转型:子类 子类对象 = (子类)父类实例;
    

    学习不足:

    1、无法解决代码出现的小问题,如调试;
    2、不能很好的完成作业(独立完成编程)
    ……

    学习改进:

    1、坚持每天看一期有关Java的视频;
    2、逛学习论坛,学习一点课外相关知识;
    3、每天完成一个小编程代码;
    4、养成独立写代码的习惯(ing)
    ······

  • 相关阅读:
    消息中间件(一)MQ详解及四大MQ比较
    SIP协议
    PAT (Basic Level) Practice 1008 数组元素循环右移问题
    LeetCode-Algorithms 1. 两数之和
    PAT (Basic Level) Practice 1040 有几个PAT
    PAT (Basic Level) Practice 1023 组个最小数
    PAT (Basic Level) Practice 1021 个位数统计
    PAT (Basic Level) Practice 1007 素数对猜想
    PAT (Basic Level) Practice 1006 换个格式输出整数
    PAT (Basic Level) Practice 1004 成绩排名
  • 原文地址:https://www.cnblogs.com/ImportantMagic/p/11632144.html
Copyright © 2011-2022 走看看