实验报告:

一.实验目的

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

二.实验的内容

(1)根据下面的要求实现圆类Circle。
1.圆类Circle的成员变量:radius表示圆的半径。2.圆类Circle的方法成员:Circle():构造方法,将半径置0Circle(double r):构造方法,创建Circle对象时将半径初始化为rdouble getRadius():获得圆的半径值double getPerimeter():获得圆的周长void disp():将圆的半径和圆的周长,圆的面积输出到屏幕

实验代码:

package 第六周;public class Circle             // 圆类Circle的方法成员
{private double radius; public Circle()             // 构造方法,半径置零{radius = 0;}                          public Circle(double r)     // 构造方法,创建Circle对象时将半径初始化为r{radius = r;}public double getRadius()   // 获得圆半径{return radius;}public double getPerimeter() //获得圆周长{return 2 * Math.PI * radius;}public void disp(){System.out.println("半径:  "+getRadius());System.out.println("周长:  "+getPerimeter());System.out.println("面积:  "+Math.pow(radius,2)*3.14);}
}
package 第六周;public class Text
{public static void main(String[] args) {Circle c = new Circle(5);c.disp();}}

实验截图:

错误截图:


分析:Java在使用pow函数是也要有相关声明;
改正:将计算面积的简洁代表公式pow(radius,2)*3.14更改为Math.pow(radius,2)*3.14;注意该声明首字母为大写。

正确截图:

(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 第六周;public class Cylinder extends Circle              // 继承第一题中的圆Circle类
{private double hight;                         // height表示圆柱体的高public Cylinder() {}public Cylinder(double r, double h)           // 创建Cylinder对象时将圆半径初始化为r,圆柱体高初始化为h{hight = h;radius = r;}public double getHeight()                     // 获得圆柱体的高{return hight;}public double getVol()                        // 获得圆柱体的体积{return Math.pow(radius, 2) * 3.14 * hight;}public void dispVol()                        // 将圆柱体的体积输出到屏幕{System.out.println("例:圆的半径为 5 ;高为 6  \n\n\n");System.out.println("圆柱体的体积:  " + getVol());}
}
package 第六周;public class Text
{public static void main(String[] args) {Cylinder cy = new Cylinder(5, 6);cy.dispVol();/*Circle c = new Circle(5); c.disp();*/}
}

实验截图:

错误截图:

分析:提示关键变量不可视。
更正:更据提示修改该变量的修饰符private为protected 。扩展学习1、public:public表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用2、private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用,私有财产神圣不可侵犯嘛,即便是子女,朋友,都不可以使用。3、protected:protected对于子女、朋友来说,就是public的,可以自由使用,没有任何限制,而对于其他的外部class,protected就变成private。

正确截图:

学习总结:

上周课堂学习为9月的最后一天,紧接的便是为期7天国庆假期,所以学习的新内容不多。上次以动物模拟变声器的实验进行学习了更多有关继承的知识,再是学习了继承抽象类实现接口,即一个子类可以同时继承抽象类和实现接口。抽象类关键词abstract;接口关键词interface。

1、接口:接口类似于类,但接口的成员没有执行体,它只是方法、属性、事件和索引符的组合而已。接口不能被实例化,接口没有构造方法,没有字段。在应用程序中,接口就是一种规范,它封装了可以被多个类继承的公共部分。扩展学习:

    不允许使用访问修饰符(public,private,protected 或 internal),所有的接口成员都必须是公共的;接口成员不能包含代码实体;接口成员不能定义字段成员;接口成员不能用关键字static,virtual,abstrac t或 sealed 来定义;类型定义成员是禁止的。

2、Java类的继承:继承是代码复用的一种形式,即在具有包含关系的类中,从属类继承主类的全部属性和方法,从而减少了代码冗余,提高了程序运行效率。Java 中类的继承是通过扩展其他类而形成新类来实现的,原来的类称为父类(super class)或基类,新类称为原来类的子类或派生类。在子类中,不仅包含父类的属性和方法,还可以增加新的属性和方法,使得父类的基本特征可被所有子类的对象共享。

3、复习Java多态性:

  • 继承:在多态中必须存在有继承关系的子类和父类。
  • 重写:子类对父类中某些方法进行重新定义,在调用这些方法时就会调用子类的方法。
  • 向上转型:在多态中需要将子类的引用赋给父类对象,只有这样该引用才既能可以调用父类的方法,又能调用子类的方法。

转载于:https://www.cnblogs.com/youlanghua/p/11631847.html

第六周java实验报告四相关推荐

  1. java实验报告实验六,第六周java实验报告四

    实验四 实验目的 (1)掌握类的继承 (2)变量的继承和覆盖,方法的继承,重载和覆盖的实现: 1)根据下面的要求实现圆类Circle. 1.圆类Circle的成员变量:radius表示圆的半径. 2. ...

  2. java校内报纸实验报告_第六周Java实验报告四

    ---恢复内容开始--- 一.实验目的 (1)掌握类的继承 (2)变量的继承和覆盖,方法的继承,重载和覆盖的实现: 二.实验的内容 (1)根据下面的要求实现圆类Circle. 1.圆类Circle的成 ...

  3. 车站检查危险品 JAVA,第八周Java实验报告六

    Java实验报告 实验四类的继承 一.实验目的 (1)       理解异常的基本概念: (2)       掌握异常处理方法及熟悉常见异常的捕获方法. 二.实验要求 (1)       练习捕获异常 ...

  4. 第三周java实验报告

        实验三 Java基本程序设计(2) 实验时间 2018-9-13 第一部分:理论知识回顾 第一章 再次了解了java"白皮书"的关键术语,java的常见术语,对于大多数&q ...

  5. Java实验报告四,研究生薪资管理,创建一个抽象交通工具Vehicle类,经理与员工工资等实验

  6. Java实验实现一个circle类_Java实验报告四

    Java实验报告四 一.题目 1.根据下面的要求实现圆类Circle. 1).圆类Circle的成员变量:radius表示圆的半径. 2).圆类Circle的方法成员: Circle():构造方法,将 ...

  7. java实验报告五_2019JAVA第五周实验报告

    Java实验报告 班级 计科二班 学号 20188442 姓名 吴怡君 完成时间 2019.9.24 评分等级 实验三 String类的应用 一.实验目的 掌握类String类的使用: 学会使用JDK ...

  8. java人学生大学生类的继承,java实验报告7.doc

    java实验报告7.doc 实 验 报 告( 2014 / 2015学年 第2学期)课程名称JAVA程序设计实验名称 类的继承实验时间2015年4月30日指导单位计算机学院/软件学院软件工程系指导教师 ...

  9. java实验报告 05 类与_java程序设计类与方法-java实验报告

    java程序设计类与方法-java实验报告 java程序设计类与方法-java实验报告 1. 实验内容或题目 (1) 编写Java应用程序,实现以下功能:当应用程序运行后,根据屏幕提示进行交互式输入并 ...

最新文章

  1. 集群中几种session同步解决方案的比较[转]
  2. HDOJ 2546饭卡(01背包问题)
  3. 机器人专用符文_英雄联盟【LOL】手游部分英雄天赋符文和出装推荐
  4. 使用Mockito时遇到的一些问题
  5. C# IIS配置错误定义了重复的“system.web.extensions/scripting/scriptResourceHandler” 解决办法...
  6. C++ 11 nullptr关键字
  7. 前端市场现在是不是饱和了?
  8. HDU1235 统计同成绩学生人数【水题+序列处理】
  9. WIN7 安装VS2005
  10. 模拟电路与数字电路基础知识及实训QY-DG760A
  11. 改变PSD文件单一的图标,让图标变成图像缩略图
  12. MATLAB - 傅里叶分析及 FFT 频谱分析
  13. 循环输出100以内的素数
  14. 联想S41-70笔记本拆机换内存条图解——小白进阶之路
  15. Excel催化剂开源第6波-Clickonce部署之自动升级瘦身之术
  16. 《经济学通识》一、前言
  17. PS非主流照片文字合成表现手法
  18. VIJOS 1206 CoVH之再破难关
  19. 闰年的计算方法及程序算法的实现
  20. 耿建超英语语法---定语从句

热门文章

  1. gispython定义查询_Python与开源GIS:SpatiaLite 中的基本SQL数据库查询用法
  2. c语言实现输入输出功能需要调用库函数,C语言学习笔记(二)
  3. 帝国cms数据库php调用tag,帝国CMS列表内容模板调用TAG的两种方法
  4. Spring Security Oauth2 (三) 密码码模式
  5. gitlab 删除仓库
  6. Flask cookie API(response.set_cookie,request.cookies)
  7. flask request类
  8. flask 自定义错误页面
  9. 华为手机设置页面黑色_华为手机设置里面的这些功能你都知道吗?
  10. 云服务器 ECS > 块存储 > 块存储介绍 > 块存储概述 请输入关键词