《程序設計與數據結構》第八周學習總結

學號 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.pswp.cn/news/538774.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/538774.shtml
英文地址,請注明出處:http://en.pswp.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服務器…