Java实验报告四

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

二、实验内容

1580374-20190929170947864-2115279403.png

1)实验代码

import java.util.Scanner;
public class Circle{
    private static  double radius;                     //声明变量
    private double perimeter;
    private double area;
    public Circle(){                                           //构造半径为0
        this.setRadius(0);
    }
    public Circle(double r) {                              //构造半径为r
        this.setRadius(r);
    }
    public void setRadius(double radius) {
        this.radius=radius;
    }
    public static double getRadius() {
        return radius;
    }
    public void setPerimeter(double perimeter) {
        this.perimeter=perimeter;
    }
    public double getPerimeter(){
        return getRadius()*2*Math.PI;
    }
    public void setArea(double area) {
        this.area=area;
    }
    public double getArea() {
        return getRadius()*getRadius()*Math.PI;
    }
    public void disp() {                                                        //输出半径,周长,面积
        System.out.println("圆的半径为:"+getRadius());
        System.out.println("圆的周长为:"+getPerimeter());
        System.out.println("圆的面积为:"+getArea());
    }
     static class Cylinder extends Circle{                         //Cylinder继承Circle
        private double height;
        public Cylinder(double r,double h) {                      //半径,高初始化
            this.setRadius(r);
            this.setHeight(h);
        }
        private void setHeight(double height) {
            this.height=height; 
        }
    public  double getHeight() {                                          //获得高
        return height;
    }
    public  double getVol() {                                                //获得体积
        return getRadius()*getRadius()*Math.PI*getHeight();
    }
    public  void dispVol() {                                                      //输出体积
        System.out.println("圆柱体的体积:"+getVol());
    }
    public  static void main(String[] args) {
        Scanner s=new Scanner(System.in);
            System.out.println("请输入半径:");
            double r=s.nextInt();                               //读取半径数入值
            System.out.println("请输入高:");
            double h=s.nextInt();                              //读取高输入值
            Cylinder s1=new Cylinder(r,h);
            s1.disp();                                        //调用类中的输出
            s1.dispVol();       
    }
}
}

2)实验结果截图
1580374-20190929170930288-1969337570.png
遇到的问题:在静态方法中调用了动态,导致结果出错。所以在子类继承父类中用了static函数,结果对了。

学到的知识:继承和覆盖。
super关键字
1).使用super可以访问父类中的方法和属性。
2).调用父类构造,必须放在子类构造方法的首行,因此与this不能同时出现。
final关键字
1).使用final声明的类不能有子类。
2).使用final声明的方法不能被子类所覆写。
3).使用final声明的变量即为常量,不可修改。
总结:
多态的特性:我觉得就是同一个方法根据调用对象的不同而产生多种结果。
这周作业不是很难,主要就是会运用子类调用父类这个知识点,而且有点粗心,竟然在静态构造方法中调用了动态,导致了编译出错,最后在网上查找到了解决办法,直接在构造方法中加入static函数,其中我还出现了一些小错误,括号的位置都打错了。总的来说,这周作业感觉一般,没什么好讲的,在书上就可以找到方法。

转载于:https://www.cnblogs.com/tzmad/p/11608922.html

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实验1 Java语言基础 4 一、实验目的 4 二、实验要求 4 三、实验内容 4 (一) 声明不同数据类型的变量 4 (二) 了解变量的使用范围 5 (三) 使用关系运算符和逻辑运算符 5 () 使用表达式语句与复合语句 6 (五) 使用选择语句 6 (六) 使用循环语句 8 实验2 面向对象编程 11 一、实验目的 11 二、实验要求 11 三、实验内容 11 (一)创建 Applet 应用小程序 11 (二)创建对象并使用对象 12 (三)编写显示当前日期和时间的程序 13 ()使用修饰符 14 (五)方法中参数传递 15 (六)类的继承性 16 (七)类的多态性 18 实验3 包、接口与异常处理 22 一、实验目的 22 二、实验要求 22 三、实验内容 22 (一)了解并使用 Java 的系统包 22 (二)创建并使用自定义包 22 (三)使用接口技术 24 ()了解异常处理机制 25 实验4 常用系统类的使用 27 一、实验目的 27 二、实验要求 27 三、实验内容 27 (一)了解 Applet 的生命周期 27 (二)使用数学函数类 28 (三)使用日期类 29 实验5 建立图形用户界面 32 一、实验目的 32 二、实验要求 32 三、实验内容 32 (一)创建图形用户界面 32 (二)了解事件处理机制 34 (三)建立独立运行的窗口界面并使用匿名类 36 ()使用 Swing 组件 39 (五)使用自定义对话框与内部类 41 实验6 图形处理 44 一、实验目的 44 二、实验要求 44 三、实验内容 44 (一)使用图形类 Graphics 44 实验7图形处理(二) 47 一、实验目的 47 二、实验要求 47 三、实验内容 47 (一)幻灯机效果——连续显示多幅图像 47 (二)使用滚动条改变背景颜色 48 (三)Applet 与 Application 合并运行 49 ()创建电闪雷鸣的动画 50 实验8 流与文件 53 一、实验目的 53 二、实验要求 53 三、实验内容 53 (一)使用标准数据流的应用程序 53 (二)使用文件输入输出流的应用程序 54 (三)使用随机文件类的应用程序 54 ()使用数据输入输出流与文件输入输出流类的应用程序 55 (五)使用对象输入输出流的应用程序 56 实验9 线程 58 一、实验目的 58 二、实验要求 58 三、实验内容 58 (一)Thread子类的方法实现多线程 58 (二)实现Runnable接口的方法实现多线程 59 实验10 数据库的连接:JDBC 61 一、实验目的 61 二、实验要求 61 三、实验内容 61 (一)配置ODBC数据源 61 (二)编写程序,按照下表的结构建立"student"表 61 (三)编写程序,完成填写功能 62 ()编写程序,完成查询功能 62

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值