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

源代码

  1. package java2;
  2. import java.util.Scanner;
  3. class Circle {
  4. private double radius;
  5. public Circle(){ //构造方法,将半径置为0
  6. this.setRadius(0);
  7. }
  8. public Circle(double r){ //构造方法,创建Circle对象时将半径初始化为r
  9. this.setRadius(r);
  10. }
  11. public double getRadius() { //获得半径的值
  12. return radius;
  13. }
  14. public void setRadius(double radius) {
  15. this.radius = radius;
  16. }
  17. public double getPerimeter() { //获得周长
  18. return getRadius()*2*Math.PI;
  19. }
  20. public double getArea() { //获得面积
  21. return Math.PI*getRadius()*getRadius();
  22. }
  23. public void disp(){
  24. System.out.println("圆的半径:"+getRadius()+" 圆的周长:"+getPerimeter()+" 圆的面积:"+getArea());
  25. }
  26. }
  27. class Cylinder extends Circle{
  28. private double height;
  29. public double getHeight() {
  30. return height;
  31. }
  32. public void setHeight(double height) {
  33. this.height = height;
  34. }
  35. Cylinder (double r,double h){
  36. this.setRadius(r);
  37. this.setHeight(h);
  38. }
  39. public double getVol(){
  40. return getArea()*getHeight();
  41. }
  42. public void dispVol(){
  43. System.out.println("圆柱的体积:"+getVol());
  44. }
  45. }
  46. public class Jicheng{
  47. public static void main(String[] args){
  48. System.out.println("输入圆的半径");
  49. Scanner sc=new Scanner(System.in);
  50. double r=sc.nextDouble();
  51. System.out.println("输入圆柱的高");
  52. double h=sc.nextDouble();
  53. Cylinder Cy=new Cylinder(r,h);
  54. Cy.disp();
  55. Cy.dispVol();
  56. }
  57. }

实验结果

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

编程总结
本周的题目与第二周的作业有些许相似,这次我了解了怎样一键getter和setter方法,本周的前面问题都不大,继承方面的知识点都还了解,本周的问题出在最后一部分的代码,后面在询问室友之后成功解决,下周继续加油。

第六周实验总结&学习总结的更多相关文章

  1. 20145330第六周《Java学习笔记》

    20145330第六周<Java学习笔记> . 这周算是很忙碌的一周.因为第六周陆续很多实验都开始进行,开始要准备和预习的科目日渐增多,对Java分配的时间不知不觉就减少了,然而第十和十一 ...

  2. 201521123122 《java程序设计》 第六周实验总结

    201521123122 <java程序设计>第六周实验总结 1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图,对面向对象思想 ...

  3. 20135302魏静静——linux课程第六周实验及总结

    linux课程第六周实验及总结 实验及学习总结 1.进程描述符task_struct数据结构 进程的作用: 将信号.进程间通信.内存管理和文件系统联系起来 操作系统的三大功能: 进程管理.内存管理.文 ...

  4. 201871010121-王方-《面向对象程序设计java》第十六周实验总结

    项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p/ ...

  5. 20175215 2018-2019-2 第六周java课程学习总结

    第七章 内部类与异常类 1.内部类 Java支持在一个类中定义另一个类,这样的类称作内部类,而包含内部类的类成为内部类的外嵌类 内部类和外嵌类之间重要关系如下 内部类的外嵌类的成员变量在内部类中仍然有 ...

  6. 201621123044 《Java程序设计》第六周实验总结

    1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图或相关笔记,对面向对象思想进行一个总结. 注1:关键词与内容不求多,但概念之间的联系要清晰 ...

  7. 201621123008 《Java程序设计》第六周实验总结

    1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图或相关笔记,对面向对象思想进行一个总结. 2. 书面作业 1. clone方法 1.1 在 ...

  8. 201771010123汪慧和《面向对象程序设计Java》第十六周实验总结

    一.理论部分 1.程序与进程的概念 ‐程序是一段静态的代码,它是应用程序执行的蓝本. ‐进程是程序的一次动态执行,它对应了从代码加载.执行至执行完毕的一个完整过程. ‐操作系统为每个进程分配一段独立的 ...

  9. 201771010123汪慧和《面向对象程序设计JAVA》第六周实验总结

    一.理论部分: 1.继承 用已有类来构建新类的一种机制.当定义了一个新类继承了一个类时,这个新类就继承了这个类的方法和域,同时在新类中添加新的方法和域以适应新的情况. 2.类.超类.子类 (1)类继承 ...

随机推荐

  1. SQLServer2008不允许保存更改

    sql server 2008在更改表结构的时候提示 “不允许保存更改,您所做的更改要求删除并重新创建以下表” 解决方案: 1.一般情况下:工具--选项--Designers--表设计器和数据库设计器 ...

  2. Java并发AtomicReference类

    java.util.concurrent.atomic.AtomicReference类提供了可以原子读取和写入的底层对象引用的操作,还包含高级原子操作. AtomicReference支持对底层对象 ...

  3. easyUI学习笔记二

    1.  拖拉大小 <!DOCTYPE html> <html> <head> <title>easyui学习</title> <scr ...

  4. sciencedirect 网站抓取过程

      开发环境 C#+SQLite 软件使用教程: 设置页面 1.        首先录入需要查询的关键词,如果需要根据年去查询,可以勾选对应的年,支持多个年份查询.点击[设置关键字]按钮,把待查询关键 ...

  5. SqlServer表名称定义

    每一个数据表 添加一个 扩展 属性:Description  填写表描述. 查看是否所有表都添加的Sql如下: SELECT a.name AS name, g.[value] FROM sys.ta ...

  6. C#冒泡排序法学习

    一,冒泡排序法理解:就是将一个集合里的数据当前位置和后一位比较,然当前位置大于后一位,则两个位置替换,直到排序完成 using System; using System.Collections.Gen ...

  7. 《代码大全2》读书笔记 Week 1

    <代码大全2>第一.二.三章 隐喻思维在西方是一个热门的话题,隐喻的认知功能在各个学科正受到越来越多的重视,依照我的理解,其实就是以众所周知或者理解主体熟悉的事物为符号去将新事物.新概念具 ...

  8. 【异常】Caused by: java.lang.IllegalStateException: Method has too many Body parameters

    出现此异常原因是引文使用feign客户端的时候,参数没有用注解修饰 1.1GET方式错误写法 @RequestMapping(value="/test", method=Reque ...

  9. 大哥带我走渗透ii--时间盲注,布尔盲注

    5/27 基于布尔的盲注 我连题目都看不懂555,先去补充一点知识.https://blog.csdn.net/weixin_40709439/article/details/81355856 返回的 ...

  10. 愚蠢的sql语法错误(sum (xxx))

    sum和()之间打了一个空格,导致一致报sql语法错误,看了半天不知道怎么回事orz