第一篇:《Java程序設計基礎》教學總結
《Java程序設計基礎》教學總結
本學期0460701班的Java程序設計基礎課程采用的是中國鐵道出版社出版的《Java程序設計》,劉海軍主編。這本教材總體還是比較適合于高職學生,但也存在一些缺點,如有些實例注解較少。在實際教學中我廣泛選擇利用其他較適宜的教學資源,注重入門練習。作為教學的補充,我將一些資源和教師多年教學積累整理成課件發給學生。現將一個學期的教學情況總結如下:
一、教學中采用的教學思路以及教學方式和方法:
(1)選擇簡單易懂且經典的實例,符合高職學生的認知水平
盡可能選用學生所接觸到的、現實生活中遇見的實例,以提高學生的學習興趣,對于綜合性比較強的章節,所選用的實例均來自實際應用。
(2)將面向對象程序設計思想貫穿全書 本課程的中心點是“面向對象程序設計”,因此在所有實例講解應用中,不斷強調面向對象程序設計的思想,從普通人員使用軟件的角度去訓練學生的面向對象思想。
(3)關注Java技術發展,內容取舍符合實際應用需要
教學中根據Java的企業應用情況,主要學習Application和Swing的應用,輔以Applet應用。
(4)重點突出,章節順序注重對學生面向對象思想的培養 教學內容在編排上遵循“從普遍到個體”、“從一般到特殊”的原則,較好地將面向對象程序設計的思想通過層層拓展的方式,展現給學生。
二、學習成效及檢測
(1)由于教學中理論實踐比例為1:2,因此程序技能訓練時間較充裕,有效地培養了學生的動手能力,應用型人才培養模式特色明顯,也較好地激發了學生編程興趣。
(2)通過對小而精的項目的單元練習和教師悉心指導,達到了課程的教學目標-即學生掌握java的基本單元知識,熟悉開發環境,會編寫簡單代碼。
(3)本學期提供了一個小規模項目開發,將實際工程項目思想做一歸納,培養學生項目開發經驗,將教學與行業企業標準結合緊密,學生能夠體會軟件工程思想。
(4)要求學生實戰演習小項目,并交由老師檢查,鞏固和拓展了學生項目開發能力。從學生的學習效果來看,小項目實訓內容很好地指導了學生的實訓學習,達到了課程的教學目標。
三、教學不足之處
(1)高職學生自主學習能力不夠,依賴思想和懶惰思想嚴重,致使平時學習氛圍不好,持續學習能力不強,學習水平提高慢。學生雖有收獲,但常常不能擴大戰果。教師應該與班主任合作加強督促。
(2)高職學生素質兩極分化嚴重,無心學習的學生常常將畏懼困難的學生拖住,嬉于影視游戲,導致深入教學難以實施。學習好的較少,無法帶動群體向上的環境。
(3)教師自身素質仍需提高,尤其在育人促學方面應該加強學習,用更多的知識和經驗教育學生,啟發學生。
第二篇:JAVA程序設計課程總結
JAVA程序設計課程總結
專業:計算機科學與技術 學號: 姓名:
JAVA程序設計課程總結
經過一學期的java學習,我在老師的上課講解以及自己的課下學習中對java編程有了一定的了解,我深深喜歡上了這種語言。培養了我正確應用面向對象的思維方法分析問題和解決問題的能力。
學習的內容主要分為以下幾個部分:(1)java程序的編輯,編譯,運行環境
(2)java語言程序設計中最基本的問題,即標識符,關鍵字,數據類型,常量,變量,表達式,聲明語句,賦值語句,數據的輸入與輸出等。(3)流程控制語句,即分支語句,循環語句,轉移語句。
(4)控制研究對象復雜性的原則,即分類,抽象,封裝和繼承,多態等。(5)數組的定義。(6)高級GUI組件的應用。
其中我對類與繼承了解較多。一.類
在Java中,類文件是以.java為后綴的代碼文件,在每個類文件中最多只許出現一個public類,當有public類的時候,類文件的名稱必須和public類的名稱相同,若不存在public,澤類文件的名稱可以為任意的名稱,但不能是數字開頭的名稱。在類內部對于成員變量,如果在定義的時候沒有進行顯示的賦值初始化,則java會保證類的每個成員變量都得到恰當的初始化:
1)對于char、short、byte、int、long、float、double等基本數據類型的變量來說會默認初始化為0,bolean變量默認會被初始化為false; 2)對于引用類型的變量,會默認初始化為null。
3)如果沒有顯示地定義構造器,則編譯器會自動創建一個無參構造器,注意:如果顯示地定義了構造器,編譯器就不會自動添加構造器,所有的構造器默認為static的。
初始化順序為:當程序執行時,需要生成某個類的對象,Java執行引擎會先檢查是否加載了這個類,如果沒有加載,則先執行類的加載再生成對象,如果已經加載,則直接生成對象。在類的加載過程中,類的static成員變量會被初始化,另外,如果類中有static語句塊,則會執行static語句塊。static成員變量和static語句塊的執行順序同代碼中的順序一致。在Java中,類是按需加載,只有當需要用到這個類的時候,才會加載這個類,并且只會加載一次。例如:
運行這段代碼就會發現“歐陽”只會被打印一次。在生成對象的過程中,會先初始化對象的成員變量,然后再執行構造器。也就是說類中的變量會在任何方法調用之前得到初始化,即使變量散步于方法定義之間。
二.繼承
在java中使用extends關鍵字來表示繼承關系,當創建一個類時,總是在繼承,如果沒有明確指出要繼承的類,就總是隱式的從根類Object進行繼承。例如:
類Number繼承于Student類,Student類稱為父類(基類),Number類稱為子類(導出類)。如果兩個類存在繼承關系,則子類會自動繼承父類的方法和變量,在子類中可以調用父類的方法和變量。在java中,只允許單繼承,也就是說 一個類最多只能顯示地繼承于一個父類。但是一個類卻可以被多個類繼承,也就是說一個類可以擁有多個子類。1.子類繼承父類的成員變量
當子類繼承了某個類之后,便可以使用父類中的成員變量,但是并不是完全繼承父類的所有成員變量。具體的原則如下: 1)能夠繼承父類的public和protected成員變量;不能夠繼承父類的private成員變量; 2)對于父類的包訪問權限成員變量,如果子類和父類在同一個包下,則子類能夠繼承;否則,子類不能夠繼承; 3)對于子類可以繼承的父類成員變量,如果在子類中出現了同名稱的成員變量,則會發生隱藏現象,即子類的成員變量會屏蔽掉父類的同名成員變量。如果要在子類中訪問父類中同名成員變量,需要使用super關鍵字來進行引用。
2.子類繼承父類的方法
子類也并不是完全繼承父類的所有方法。1)能夠繼承父類的public和protected成員方法;不能夠繼承父類的private成員方法; 2)對于父類的包訪問權限成員方法,如果子類和父類在同一個包下,則子類能夠繼承;否則,子類不能夠繼承;
3)對于子類可以繼承的父類成員方法,如果在子類中出現了同名稱的成員方法,則稱為覆蓋,即子類的成員方法會覆蓋掉父類的同名成員方法。如果要在子類中訪問父類中同名成員方法,需要使用super關鍵字來進行引用。
注意:隱藏是針對成員變量和靜態方法的,而覆蓋是針對普通方法的。
3.構造器
子類是不能夠繼承父類的構造器,如果父類的構造器都是帶有參數的,則必須在子類的構造器中顯示地通過super關鍵字調用父類的構造器并配以適當的參數列表。如果父類有無參構造器,則在子類的構造器中用super關鍵字調用父類構造器不是必須的,如果沒有使用super關鍵字,系統會自動調用父類的無參構造器。例如:
這樣的代碼是沒有問題的,如果把父類的無參構造器去掉,則下面的代碼必然會出錯:
改成下面這樣就行了:
4.Super super主要有兩種用法: 1)2)super.成員變量/super.成員方法;super(parameter1,parameter2....)第一種用法主要用來在子類中調用父類的同名成員變量或者方法;第二種主要用在子類的構造器中顯示地調用父類的構造器,要注意的是,如果是用在子類構造器中,則必須是子類構造器的第一個語句。
以上就是我掌握較好的點,但是其中也有很多我沒有考慮到的地方。很感謝老師陪我度過了一個愉快的學期,老師的教學方法(即實例與理論結合)也是我所認可的,能接受的,相信我在以后的工作生活中會越來越好。
第三篇:JAVA基礎總結
JAVA基礎總結
轉眼間,已經來到這里學習半年了,而現在我們對于JAVA學習才算是真正的開始。一開始接觸的時候我發現這個和C語言的基本語法幾乎一模一樣的,老師說:JAVA語言本來就是C++語言發展過來的,而C++是從C語言發展來的,C C++ 還有JAVA雖然是不同的三種語言,但是其實他們的基本語法是一樣的,但是它們卻有巨大的區別,這個區別主要是體現在思想上。
都說C語言是面向過程的語言,C++ C#和JAVA是面向對象的編程,其實就是思維方式稍微改了一下子,面向過程的語言主要是著重于算法,面向對象著重于邏輯而已。
這個教我們的老師是張成峰老師,張成峰是個很負責的老師,雖然JAVA基礎其實和C語言基礎差不多,但是仔細學學還是能找出很多不同的細節的,于是大家的問題就很多,張老師幾乎就是手把手的教我們,所以整體來說JAVA基礎學得挺扎實的。
我在這本書的學習不是挺好,聯系得少了,所以對代碼也不是特別熟悉。而且JAVA是一門重概念的書,對于我來說,概念是我的要害,理論知識也是我最怕學習的,所以學習這本書對我來說很是艱難,聽了很久的課,代碼寫得出來,但是理論知識幾乎一點也不明白,結果就造成了這次筆試考的不好。
筆試考的不好,機試也因為我的粗心沒有考好,所以這次的成績不好。
學習JAVA基礎后,還要在學習的過程中對每個知識都要用心和細心,當然最該注重的地方就是應該提高我對理論知識的學習,要多看書,也要多敲敲代碼,這些就是提高學習知識全面的方法。
下一本書學習的是JAVAOO算是JAVA的一個重要的內容了,這才會真正的接觸JAVA的核心課程,在這本書里我要好好的理解理論知識,仔細的學習每個知識。
第四篇:Java基礎總結
? 基本數據類型
? 變量單元直接存放數據
? 賦值和傳參的方式:傳值,即傳遞副本
? 比較相等使用關系運算符“==”
? 引用數據類型
? 變量單元存放引用即對象地址,而數據(對象)在另一內存區域存放。
? 賦值和傳參的方式:傳引用(傳遞對象的地址),即傳遞對象本身。
? 使用關系運算符“==”比較兩個引用類型變量,比較的是地址,如果比較結果為
真,說明兩個變量引用了同一對象。
? 比較兩個對象是否相等應使用equals方法
? Java是面向對象的語言,開發Java程序就是開發Java類,Java的變量定義、方法(函
數)和語句都必須在類中書寫,“無類即無Java”。
? 類的實例成員
屬性(成員變量):直接定義在類體中的變量(注:在方法或語句塊中定義的變量不是屬性)
方法:直接定義在類體中的方法。
類成員:直接定義在類體中的內部類,即類成員。
注:對象的成員是從屬于對象的,必須通過對象訪問,在Java中不存在脫離對象和類而獨立存在的屬性和方法。
? 類、方法、語句三者的關系:
類中包含方法,方法中包含語句;方法中不能嵌套方法;語句不能直接寫在類體中。
? 變量的作用域
? 局部變量-方法的參數、方法體中定義的變量、語句塊中定義的變量,僅在所定義的方法體或語句塊中有效。
? 屬性-在整個類體中有效。
? 公有的屬性-其它類可以本類對象訪問。
? 私有的屬性-僅限本類內訪問
? 局部變量(無論基本類型還是引用類型)在棧內存中,對象在堆內存中。注:引用類型的局部變量內存放是對象的引用(即地址),而對象在堆內存中。
? 方法的重載-在同一類中多個方法同名的語法現象,方法重載應符合以下條件:
? 方法同名
? 參數有所不同(即類型、個數和順序三者至少有一個不同)
注:方法是否重載不考慮返回類型等其它方面。
? 包和訪問修飾符
? 包-類的目錄結構,主要用途是方便類的管理。
? 類的簡稱:不含包名的類名
? 類的全限定名稱(類的全稱):帶包名的類名。
? 訪問修飾符
? private-僅限本類內訪問
? public-任何類都能夠訪問
? 默認-限本包的類訪問
? protected--限本包的類訪問和子類的訪問
? 類的成員(屬性、方法和成員內部類)可以使用四種訪問修飾符,頂級外部類僅能
使用public和默認兩種修飾符。
? 數組
? 基本類型的數組的元素放的是數據
? 對象數據的元素放的是對象的引用
? 二維數組實際上是一個維數組,而其每個元素又是一個一維數組。
? 構造方法-與類名同名并且無返回類型的方法
? 構造方法的作用是創建對象,僅能通過new關鍵字調用。
? 類中未顯式定義構造方法時,類中會有默認的構造方法(即一個public、無參的構
造方法);類中一旦定義顯式定義構造方法,將不再產生默認的構造方法。
? 構造方法可以重載
? 構造方法只能可以使用四個訪問修飾符,不可以使用其它修飾符(如static、final
等)。
? this關鍵字
? this表示本對象或對象自身的引用
? 通過this可以調用本類的成員方法和屬性
? 通過this可以調用本類的構造方法,this調用構造方法的語句必須寫在構造方法的第一句。
? 實例成員和靜態成員
? 類的成員(屬性、方法和成員類)可劃分為靜態成員和實例成員。
? 實例成員是屬于對象的,隨著對象的創建而存在,隨著對象的銷毀而銷毀。? 靜態成員是屬于類的,隨著類的加載而存在,隨著類的銷毀而銷毀。
? 使用static修飾的成員是靜態成員,未使用static修飾的成員是實例成員。? 靜態成員內不能使用this關鍵字。
? this表示當前對象的引用。
? 對象的初始化
? 第一:實例屬性賦默認值
? 第二:實例屬性賦初值
? 第三:執行對象初始化塊
? 第四:執行構造方法
? 類的初始化
? 第一:靜態屬性賦默認值
? 第二:靜態屬性賦初值
? 第三:執行靜態塊
? 繼承的基本概念
? Java僅支持單繼承
?
?
?
?
? ? 如果一個類沒有顯式繼承任何類,則隱式繼承java.lang.Object類 ? 子類擁有父類的一切,子類對象由兩部分構成:父類對象部分和子類個性化的部分。? 子類并不能訪問父類的一切: ? 子類可以訪問父類的public成員和protected成員 ? 子類不可以訪問父類的private成員 ? 僅當子類與父類同在一包時,子類方可以訪問父類的默認訪問控制的成員。繼承與類和對象的初始化 ? 構造子類對象時,首先構造父類對象,其次構造子類個性化部分,兩者共同構成完整的子類對象,即首先進行父類對象的初始化,在初始化子類對象(個性化)部分。? 子類構造方法的執行首先調用父類的構造方法。? 若在子類構造方法中無顯式調用父類構造方法的語句,則系統默認調用父類中可訪問的無參的構造方法,如果這時候父類中恰好沒有這樣的構造方法,則編譯出錯。? 在子類的構造方法中可以通過super關鍵字調用父類構造方法。這樣的調用語句只能出現在子類構造方法的第一句。? 關于初始化的順序 ? 初始化父類 ? 初始化子類 ? 初始化父類對象 ? 初始化子類對象 繼承與類型轉換 ? 子類型對象可以自動轉型為父類型 ? 父類型引用某個子類型對象時,可以強制轉化為這個具體的子類型 方法重寫 ? 在繼承的情況下,子類的實例方法與父類的實例方法的方法名稱、參數、返回類型、throws聲明完全一致,并且該子類方法的訪問權限不低于父類方法的訪問權限,即方法重寫(子類方法重寫了父類方法),也稱方法覆蓋。? 方法重寫僅存在于父子類中的實例方法,靜態方法沒有重寫的概念。? 當通過子類型對象執行重寫方法時,將始終表現為子類的行為,而且無論引用對象的變量是父類型還是子類型,也無論是直接調用還是通過父類型其它方法間接調用,都將如此。? final修飾的方法不可以被重寫 ? final修飾的類不可以被繼承 隱藏成員變量 ? 如果子類和父類中定義了同名稱的成員變量,則稱子類隱藏了父類的成員變量 ? 通過父類方法訪問隱藏的成員變量時,將獲得父類成員變量 ? 通過子類方法訪問隱藏的成員變量時,將獲得子類成員變量 ? 通過父類型的引用直接訪問隱藏的成員變量時,將獲得父類成員變量 ? 通過子類型的引用直接訪問隱藏的成員變量時,將獲得子類成員變量 super關鍵字
? super僅能用于子類中表示本對象的父對象部分
? super可以調用父類型的構造方法
? Super可以調用父類的成員
? Super不可以使用在靜態上下文中
? Super不可以做為參數傳遞,不可以做為返回值返回。
? 當方法重寫時,或父類成員變量被隱藏時,子類中只能通過super訪問父類方法和
父類成員變量
? final關鍵字
? 用于變量,表示變量的值不可改變
? 用于類,表示類不可被繼承
? 用于方法,表示方法不可以被重寫
? 關于final變量的初始化時機
? 局部變量:聲明的時候初始化
? 實例成員變量:聲明、對象初始化塊和構造方法三處之一
? 靜態成員變量:聲明、靜態塊兩處之一
? 抽象類
? 抽象類可以包含抽象方法,也可以不包含抽象方法
? 含有抽象方法的類必須定義為抽象類
? 抽象類有構造方法
? 抽象類不能夠實例化
? 通過抽象類可以調用其靜態成員
? 抽象類是需要由子類繼承的,因此抽象類不允許是final類
? 抽象方法
? 抽象方法沒有方法體,包括一對空的大括號也不允許有
? 抽象方法必須是實例方法,抽象方法不允許是final的? 抽象類與繼承
? 抽象類可以被繼承
? 若抽象類的子類是非抽象類,則該子類必須實現(重寫)其父類的所有抽象方法 ? 若抽象類的子類也是抽象類,則該子類可以不實現(重寫)其父類的全部或部分抽象
方法。
? 接口
? 接口也是數據類型,可以將其理解為“純”抽象類
? 接口不是類,也沒有構造方法,不能夠實例化
? 接口中的屬性一律是public、static、final的,并可以省略這三個關鍵字
? 接口的方法一律是public、abstract的,并且可以省略這兩個關鍵字
? 接口中可以不包含任何屬性和方法
? 接口與實現
? 接口不是類,因此接口與類的關系不是“繼承”關系,而是“實現”關系,我們可
以將實現理解為繼承(盡管這并不恰當)
? 如果接口的實現類是抽象類,則該實現類可以不實現接口的全部或部分方法 ? 如果接口的實現類是非抽象類,則該實現類必須實現接口的全部方法
? 一個類可以實現多個接口
? 接口與繼承
? 接口之間可以相互繼承
? 一個接口可以繼承多個接口
? 接口與類型轉換
? 接口的的子類型對象可以自動向上轉型為接口類型
? 接口的子類型指:是接口的實現類或者接口的子接口
? 如果變量引用的對象實際是某個接口的實現類對象,而變量的類型不是這個接口的子類型,那么則可以強制轉換為這個接口類型。
? 異常的類層次結構
? Throwable錯誤類,表示不可恢復的致命錯誤
? Exception運行時異常,此類異常可以不做顯式處理
? 非運行時異常catch
? 聲明拋出 在方法頭通過throws聲明可能拋出的異常類型
? 異常機制的五個關鍵字
? try catch finally throw throws
? 如何使用
? try-catch
? try-catch-finally注:只要try執行,其對應的finally塊才必然執行
? try-finally注:只要try執行,其對應的finally塊才必然執行
? throw 主動拋出一個異常
? throws 用在方法聲明頭部,聲明方法可能拋出異常
? finally代碼塊多用于書寫資源回收代碼
? Java集合類(集合框架)
? Collection接口
? List接口 允許重復元素,元素有索引序號,并按放入元素的次序編號
? ArrayList 線性表結構,查找快,增刪慢
? LinkedList 鏈表結構,查找慢,增刪快
? Vector 同步,查找、增刪性能都不高。
? Set接口 不允許重復元素,元素無索引編號
? HashSet 元素散列存放
? TreeSet元素按自然順序排序(即從小到大排序)
? Map接口
? HashMap
? 允許null值和null鍵
? 不同步
? Hashtable <--Properties
? 不允許null值和null鍵
? 同步
? 內部類
第五篇:Java程序設計實訓總結
Java項目開發實訓總結
設計人:浦江峰
班級和班內序號: 1132304112
項目選題意義:
在民營企業、中小型公司高速蓬勃發展的今天,本系統是重點針對中小型企業開發的一款人力資源管理系統,經過市場調查分析發現了民營企業人力資源管理在績效考核、薪酬管理、任務管理方面存在問題。目前民營企業績效考核存在著考核結果主觀化、考核結果沒有廣泛應用、考核意識淡漠等方面的問題。薪酬管理主要存在缺乏激勵性的問題,具體表現在人力資源管理方面的混亂。本系統重點這些問題進行的設計與開發。利用現代高效的運作方式來開發和管理組織中最重要、最昂貴的資源,實人資源管理精細化、自動化,為公司的發展做出正確的決策,提高人員的利用率,為公司發展和人才儲備提供良好的平臺。項目名稱:人力資源管理系統 自我評價:良好
項目設計情況:
人力資源管理系統(Human Resources Management System,HRMS)包括人事日常事務、薪酬、招聘、培訓、考核以及人力資源的管理也指組織或社會團體運用系統學理論方法,對企業的人力資源管理方方面面進行分析、規劃、實施、調整,提高企業人力資源管理水平,使人力資源更有效的服務于組織或團體目標。
職能部門的管理任務:○1參謀職能,從人力資源的角度 分析企業發展狀況,發現存在問題,提出相應的政策和制度建議;○2指導職能,根據企業基本政策,制定具體的管理規劃和工作計劃,確保人力資源管理目標;○3服務職能,為其他領域的工作人員提供業務支持與服務;○4直線職能,指揮自己的部屬開展工作。
項目的優勢和缺陷:
目前比較出名的是Borland出的JBuilder和IBM出的Visual Age for Java,兩種工具都有一定數量的是用人群。JBuilder繼承了C++Builder/Delphi的特點,在可視化上做得非常不錯,使用簡便。由于Java本身語言的特點使得他們在網絡開發中具有高人一等的表現,而且面向對象特性高,支持的組件技術也非常多,跨平臺的特性也使得它在現在和未來的開發中占據越來越重要的地位。但是在系統底層開發和多媒體開發中卻表現得并不讓人那么滿意,這個可能跟設計Java的意圖有關吧。
意見和建議:培訓開發體系:一個好的人力資源管理,應該做到識別人才,有針對性地培養員工,為企業的持續發展提供足夠多有技能、有熱情、有基礎、可信任的人才。根據公司目前的情況及行業的情況,在一至兩年內以目前在職的工作責任心強、業務熟悉、工作經驗豐富、人品賢良、具多年社會歷煉的員工為骨干,帶動、培訓有培養前途的年輕人。