《程序设计与数据结构》第八周学习总结

学号 20172326 《程序设计与数据结构》第八周学习总结

教材学习内容总结

  • 后绑定在程序执行时执行
  • 多态性可由继承与接口实现
  • 排序有选择法排序与插入法排序
  • 搜索分为线性搜索与二分搜索
  • 算法,同一类型的不同方法可能解决同一问题,但是,效率与难以程度不同

    教材学习中的问题和解决过程

  • 问题:Java当中的绑定机制
  • 首先,编译时绑定与动态绑定又分别称为前期绑定和后期绑定。前期绑定:在程序执行前方法已经被绑定,此时由编译器或其它连接程序实现。例如:C。后期绑定:在运行时根据具体对象的类型进行绑定。重载函数的实际调用版本由编译器绑定决定,而覆盖函数的实际调用版本由动态绑定决定。
  • 重写与重载
  • 重写(override):当一个子类继承一父类,而子类中的方法与父类中的方法的名称,参数个数、类型都完全一致时,就称子类中的这个方法重写了父类中的方法。
  • 重载(overload):对于同一个类,如果这个类里面有两个或者多个重名的方法,但是方法的参数个数、类型、顺序至少有一个不一样,这时候就构成方法重载
  • 区别:重载为函数名相同,参数列表不同,与其他的无关(访问控制符、返回值类型)。重写为函数名必须相同、参数列表必须相同。
    子类的返回值类型要等于或者小于父类的返回值。

    代码调试中的问题和解决过程

  • 问题:PP10.5的编写
  • 问题解决方案:要对Movies进行修改,使得其能够按照电影名的字母顺序进行排序。开始,我仿照书上的例题,对其进行编写,但是,将Comparable接口与哪个程序进行“对接”?下面进行分析,CompareTo中要将电影名,导演名进行比较,而在DVDCollection中只有数组的方法,在DVD中含有这两个变量,所以再加上getter方法就行了。获取这两个变量后,就可以将进行比较。接着就是排序的问题,这里就可以使用Sorting的方法,通过选择排序法进行比较。
    1333460-20180502230048847-287105984.png

代码托管

1333460-20180502231459423-1781475727.png

上周考试错题总结

  • 错题1
    1333460-20180506114321747-666217360.png

  • Insertion Sort和Selection Sort的算法效率是相同的,均为n的二次方。
  • 错题2
    1333460-20180506114331352-1465278296.png

  • 二者算法效率相同,且均为两个嵌套循环,所以,不需要额外的循环
  • 错题3
    1333460-20180506114342575-1531820826.png

  • 抽象方法中可以有非抽象方法,且抽象方法只有声明,没有主体
  • 错题4
    1333460-20180506114400312-1583433678.png

  • 方法的重载也是多态性的一种体现
  • 错题5
    1333460-20180506114407957-779525054.png

  • 算法的效率为n^2,而由于有n个数据元素,所以在数据量小于一个元素之前可以将数据减半的次数是log2n。
  • 错题6
    1333460-20180506114415852-932722566.png

  • 一个引用变量可以指向有继承关系的任何类的任何对象
  • 错题7
    1333460-20180506114424446-562279255.png

  • 将不同的字符串输出,正是体现了多态的特点
  • 错题8
    1333460-20180506114432551-1454262818.png

  • 类引用可以直接调用其他类的方法

学习进度条

代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标5000行30篇400小时
第一周110/1101/120/20
第二周315/4251/218/38
第三周475/9002/422/60
第四周600/15001/530/90
第五周1215/27151/620/110
第六周382/30971/720/130
第七周721/38181/815/145
第八周771/45892/1015/160

参考资料

  • 《Java程序设计与数据结构教程(第二版)》
  • 《Java程序设计与数据结构教程(第二版)》学习指导
  • java中的绑定、前期绑定、后期绑定三者的概念

转载于:https://www.cnblogs.com/326477465-a/p/8983065.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/538774.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python获取文件名不含后缀名_大部分Python资料都没有说到的重点-用实战教你解决问题的思路...

前言最近有些刚入门Python的小伙伴问我,他已经学会了大部分语法,基本的列表,元组也会使用,但是在实际中需要做一点小需求的时候,仍然不知所措。解决问题重要的并非是如何写代码,而是如何分析和拆解问题&…

12.JAVA基本数据类型

Java是一种强类型语言,每个变量都必须声明类型。 String 不是java的基本数据类型!!! 除了8种基本数据类型之外,其他的都是引用类型。 引用类型的初始值是null byte,short,int类型的默认值为0 …

python成语接龙代码_实现成语接龙(Python)

目录 前言 要实现的规则如下:根据接龙的成语的第一个字与前一个成语结尾的字的比较,分一下三种模式模式1:字相同拼音也要相同 模式2:字相同拼音不要求相同 模式3:字不要相同拼音要求相同,即谐音就可以接龙的…

opencv android jni,OpenCV - AndroidStudio的JNI工程及引用OpenCV

一把利刃,用不好,会伤到你遍体鳞伤。用得好,便为你披荆斩棘,所向披靡。好与不好之间,便是历练。几经波折,终于跌跌撞撞,集成了OpenCV,并实现了灰度图片,自此一扇新的大门已经打开。至此我手中已…

python语句int_python中的int函数

int函数用来把其他类型向下转换为整数类型 int(3.6) --- 3 int(3.2) --- 3 int(1/3) --- 0 int("1") --- 1 int()可以按照指定的进制的整数转换为十进制的整数,如果不指定默认是十进制转换为十进制,第二个参数给0和不给一样,除非你…

13.JAVA基础:八进制,十六进制表示

原文路径:http://simon-c.iteye.com/blog/802149 点击查看原文 ----------------------------------------------------------- 可以使用八进制、十六进制的类型:long, int, short, byte 八进制表示:以0作为前缀,数码有0,1,…

excel图表交互联动_深入讲解EasyShu图表与引用数据动态联动功能

EasyShu一开始的架构是将制作好的图表最终返回给用户,不依赖用户工作表的单元格区域引用,可满足图表绘制后的脱离数据源分享传播,无奈用户最强烈的反馈是要求图表与数据保持联动,这一需求实在对EasyShu是一个巨大的挑战。为了将Ea…

使用pipenv代替virtualenv管理python包

前言 第一次接触到 pipenv 是因为看到董明伟大神的《使用pipenv管理你的项目》,之前可能和大家的选择类似使用 virtualenv 或者 pyenv 来管理 python 的包环境。virtualenv 是针对python的包的多版本管理,通过将python包安装到一个模块来作为python的包虚…

android代码生成excel,AndroidExcel

Android_Excel在android中生成excel##效果图##初始化数据首先我们要先造下测试数据,这里我把数据写死在一个常量类Const中,如下:public class Const {public interface OrderInfo{public static final String[][] orderOne new String[][] {…

14.JAVA整型变量

表示形式 Java语言整型常数的3种表示形式: 1、十进制整数:99,-100,0 2、八进制整数:要以0开头,如015 3、十六进制整数:以0x开头,如0x15 点击查看十进制八进制十六进制概念 public static v…

exists sql用法_干货!SQL性能优化,书写高质量SQL语句

写SQL语句的时候我们往往关注的是SQL的执行结果,但是是否真的关注了SQL的执行效率,是否注意了SQL的写法规范?以下的干货分享是在实际开发过程中总结的,希望对大家有所帮助!1. limit分页优化当偏移量特别大时&#xff0…

python docker自动化_「docker实战篇」python的docker爬虫技术-移动自动化控制工具appium工具(17)...

原创文章,欢迎转载。转载请注明:转载自IT人故事会,谢谢!原文链接地址:「docker实战篇」python的docker爬虫技术-移动自动化控制工具appium工具(17)Appium是一个开源测试自动化框架,可用于原生,混…

一些adb的常用命令

显示正在运行的服务 adb shell dumpsys activity services [packageName] 打开一个Activity adb shell am start -n {包(package)名}/Activity绝对路径(ex:com.xxx.xxx.xxxActivity) 以调试模式启动一个Activity adb shell am start -D -n {包…

android 调用restful,android调用springmvc写的restful

下载srpingmvc的相关jarhttp://www.cnblogs.com/liuhongfeng/p/4919963.html配置spingmvc和相关接口http://blog.csdn.net/jianyuerensheng/article/details/51258942如果报错,检查JDK版本是否和本地的一致在UserController.jave中添加接口package com.zjn.controll…

eureka server配置_springcloud项目搭建第三节:eureka集群

在上一节搭建的项目基础上,在创建一个eureka-server-two的子项目和eureka-server项目一样,然后修改各自项目的application.yml文件eureka-server项目的application.yml文件修改2点1.修改eureka的注册地址改成另一个eureka-server-two项目的注册中心地址2…

15.浮点类型

数值范围 float类型又被称为单精度类型,尾数可以精确到7位有效数字,在很多情况下,float类型的精度很难满足需求。 double类型又被称为双精度类型,尾数可以精确到14位有效数字。 浮点类型默认是double。 public static void main(…

c4d流体插件_(图文+视频)C4D野教程:TFD、XP和RF三大流体插件协作案例

在逛INS的时候,看见国外一位叫做BastardFilms的大神制作了很多流体的效果:尤其是他制作的很多液态烟雾的流体,我特别喜欢,由于我不知道怎么下载INS的视频,所以这里只有发个截图大家看看:作者这里有说明是用…

form表单用js提前执行函数若不成功则不提交_面试必会的重复提交 8 种解决方案!...

重复提交看似是一个小儿科的问题,但却存在好几种变种用法。在面试中回答的好,说不定会有意想不到的收获!现把这 8 种解决方案分享给大家!1.什么是幂等在我们编程中常见幂等select查询天然幂等delete删除也是幂等,删除同一个多次效…

16.char类型

char,占2个字节。 单引号用来表示字符常量。例如a. char类型用来表示在Unicode编码表中的字符。 unicode编码被设计用来处理各种语言的所有文字,它占了2个字节,可允许有65536个字符。 Java语言中还允许使用转义字符‘\,来将其后的…

转向Kotlin——数据类和封闭类

数据类和封闭类是Kotlin中的两种特殊的类,今天一起了解一下。更多精彩内容也可以关注我的微信公众号——Android机动车 数据类 数据类是Kotlin的一个语法糖。Kotlin编译器会自动为数据类生成一些成员函数,以提高开发效率。 数据类的使用 无论是Java服务器…