2019秋季java課程總結

###本學期面向對象與Java程序設計課程已經所有結束了,但Java程序設計的學習還遠未到終點,你們就本學期的課程做一個全面的總結吧。java

在此感謝各位助教的全力配合和辛勤勞動,辛苦了!mysql

###1、Java面向對象程序: ####面向對象編程(基礎篇):
1.類與對象。關於類的定義、狀態與行爲,類與對象的關係,對象的建立與使用。 2.封裝性(setter與getter)。 3.構造方法(類名 對象名稱 = new 類名稱)。 4.匿名對象。 5.this關鍵字(強調本類中方法,表類屬性,使用this調用本類構造方法,this表示當前對象)。 6.static關鍵字(全部對象共享,類名稱直接調用)。
7.String類 ①兩種實例化方法(例給name賦值zy):直接賦值(String name= "zy");直接調用String類的構造方法(String name=new String("zy"))。 ②兩種比較內容方法:「==」,「equals()」(將內容進行比較)。 ③String類中經常使用方法(jdk中可查看)。 ④注意:字符串就是一個String類的匿名對象;使用String類聲明後的字符串內容不可改變。sql

####面向對象(高級篇): 1.繼承 ①經過子類擴展父類功能(class 父類{} class 子類 extends 父類{})。 ②子類不可直接訪問父類的私有操做(要經過setter或getter),但可調用父類私有方法。 ③子類對象實例化以前先調用父類的構造方法。值得注意的是,父類的構造方法中既有無參構造方法(可系統給,可本身寫)又有有參構造方法,咱們須要在父類中本身寫上一個無參構造,防止調用時this與super並用時報錯(super調用無參構造)。 ④覆寫時,子類只可擴大權限,不可縮小(例父:private,子:public)。 ⑤因this與super都須要放在構造方法的首行,故不可同時出現。且均不可用於main方法中。 2.final關鍵字: ①使用final聲明的類不能有子類。 ②final聲明的方法不能被子類覆寫(即不能被繼承)。 ③final聲明的變量即成爲常量,常量不可被修改。 3.抽象類 普通類不可有抽象方法,抽象類能夠有普通方法及構造方法。 4.多態性 首先進行向上轉換,才能進行向下強制類型轉換。 5.對象多態性: 兩個或多個屬於不一樣類的對象,對於同一個消息(方法調用)作出不一樣的響應的方式。 6.抽象類(模板): 父類至關於定義了一個模板,在主辦法中調用的爲普通/構造/抽象方法,子類只須要實現父類的抽象方法。 7.接口(標準): 接口規定出一個標準,對具體的下面的類內容不關心 注意: ①爲抽象類與接口實例化:A a=new B()。 ②一個類不要去繼承已實現好的類,要抽象類與接口二選一。若二者均可以使用,爲避免單繼承侷限,要優先使用接口。 ③接口不可以使用構造、普通、抽象方法及變量。 ④抽象類可實現多個接口,接口不能繼承抽象類。 ⑤二者都經過對象的多態性產生實例化對象。數據庫

####異常的捕獲及處理: 1.異常: ①異常處理:try{...}catch{...}finally{...} ②throw關鍵字:用戶手工拋出異常類的實例化對象。throws:用於方法聲明,表示此方法不處理異常,將異常交給程序被調用處進行處理。 ③RuntimeException是Exception的子類,其定義的異常能夠選擇性進行處理。 ④自定義異常只須要繼承Exception類進行強制性處理。編程

###2、Java應用程序設計: ####多線程: ①定義:一個類繼承Thread類,子類中必須明確覆寫Thread類中的run()方法。 ②不能直接使用run()方法,須要用start()方法啓動。多線程

####Java IO: ######字節流與字符流相關的基本操做 1.字節流(操做byte數據) ①輸出數據:OutputStream類 ②輸入數據:InputStream類 2.字符流 ①輸出數據:Writer類 ②輸入數據:Reader類 3.二者區別:字節流在操做時自己不會用到緩衝區,而字符流在操做時使用了緩衝區,經過緩衝區再操做文件 4.操做流程: ①使用File類打開一個文件 ②經過字節流或字符流的子類,指定輸出的位置 ③進行讀/寫操做 ④關閉輸入/輸出工具

######轉換流等以及System類對IO的支持相關內容 1.轉換流 ①OutputStreamWriter類:Writer的子類,將輸出字符流變字節流 ②InputStreamReader類:Reader的子類,將輸入字節流變字符流 2.內存操做流 ①字節內存操做流:內存輸入流(ByteArrayInputStream) 內存輸出流(ByteArrayOutputStream) ②字符內存操做流:內存輸入流(CharArrayReader) 內存輸出流(CharArrayWriter) ③ByteArrayInputStream: 程序->InputStream->輸出到內存 ④ByteArrayOutputStream:程序<-OutputStream<-內存 3.管道流 4.System類 ①System.out 即向顯示器上輸出(但願用戶能夠看見的信息 ②System.err 表示的是錯誤的標準輸出(不但願用戶能夠看見的信息 ③System.in 從鍵盤中讀取數據佈局

####圖形界面: 1.AWT(重量及組件,抽象窗口工具包)組成: ①組件(Component)②容器(Container)③佈局管理器(LayoutManager)學習

2.Swing(輕量級圖形界面組件)組成: ①基本容器JFrame(Component子類):不只自身有經常使用操做方法,還能夠經過Dimension類和Point類的方法設置組件部分屬性。且實例化Frame對象時不須要用異常處理。 ②標籤組件JLabel:建立完的Label對象可經過Container類中的add()方法加入到容器。進行信息的顯示、設置文字顯示效果(public void setFont(Font f))或顯示圖片(使用Icon接口以及ImageIcon子類)。 ③按鈕組件JButton:表示一個普通的按鈕,也能夠爲一個按鈕設置一張顯示圖片。 ④佈局管理器(管理組件): FlowLayout(流式佈局管理器):全部組件按照次序依次向下排列; BorderLayout:將版面劃分紅東西南北中五個區域; GridLayout:以表格形式進行管理,必需要設置顯示的行數和列數(列數有時不做數); CardLayout:將一組組件彼此重疊地進行佈局,每次只展示一個界面; 絕對定位:經過setBounds()方法,定位一個組件的座標。其好處是不論窗體如何改變大小,組件位置固定不動。 3.其餘容器: ①JPanel:直接加入到JFrame容器中便可顯示,完成各類複雜的界面顯示。 ②JSplitPane:分割面板(水平排列或垂直排列)。 ③JTabbedPane:在一個面板上設置多個選項卡供用戶選擇。 ④JScrollPane:爲顯示的內容加入水平滾動條。 ⑤JDesktopPane和JInternalFrame:使一個窗體中出現多個子窗體,每一個子窗體沒法超出父窗體的區域。 4.事件處理: ①事件:表示一個對象發生狀態變化,全部事件類都是EventObject類的子類。 ②監聽器:事件接受對象,以接口形式出現,處理時只須要實現此接口。 ③窗體事件與監聽適配器:WindowListener是專門處理窗體事件的監聽接口,但直接使用接口須要覆寫所有抽象方法不太方便。因此經過WindowAdapter實現監聽,就可以讓用戶根據本身的須要進行方法的覆寫。 ④動做事件及監聽處理:使用ActionListener監聽,可使用此事件完成一個簡單的用戶登陸操做。 5.鼠標事件及監聽處理: ①使用MouseListener接口,產生MouseEvent事件; ②經過MouseAdapter實現監聽。 6.鼠標拖拽事件及監聽處理:使用MouseMotionListener接口 7.單選鈕: ①使用JRadioButton類完成; ②使用ItemListener接口進行事件監聽,存在ItemEvent事件。 8.菜單組件: ①JMenu與JMenuBar:JMenuBar組件用來擺放JMenu組件,可構建一個簡單的無菜單項的菜單; ②JMenuItem:至關於一種特殊組件JButton,會觸發ActionEvent事件,用於加入菜單項。 ③事件處理:JMenuItem與JButton都是AbstractButton類的子類,故事件處理機制徹底同樣。this

####Java數據庫編程: JDBC(Java數據庫鏈接)的主要操做及接口: 經常使用類和接口:DriverManager(用於管理JDBC驅動程序)、Connection(用於創建與特定數據庫的鏈接)、Statement(一個Statement對象用於執行靜態SQL語句,並得到語句執行後產生的結果)、Result(用於建立表示SQL語句檢索結果的結果集)、PreparedStatement(建立一個能夠編譯的SQL語句對象,該對象可被屢次運行,該接口是Statement的子接口)。

MYSQL數據庫: ①定義:小型關係型數據庫管理系統。 ②安裝及配置。 ③經常使用命令: 鏈接MYSQL數據庫:

mysql-u 用戶名 -p 密碼;

建立數據庫:

CREATE DATABASE 數據庫名稱、

刪除數據庫:

DROP DATABASE 數據庫名稱;

使用數據庫:

USE 數據庫名稱;

建立數據庫表:

CREATE TABLE 表名稱(
    字段名稱1 字段類型 [DEFAULT 默認值] [約束],
    字段名稱2 字段類型 [DEFAULT 默認值] [約束],
    ...
    字段名稱n 字段類型 [DEFAULT 默認值] [約束]
);

刪除數據庫表:

DROP TABLE  表名稱;

查看錶結構:

DESC 表名稱;

查看數據庫信息: 查看所有數據庫:

SHOW DATABASES;

查看一個數據庫的所有表:

SHOW TABLES;

SQL語法基礎: ①SQL功能歸納:DML、DDL、DCL; ②MYSQL中的數據類型:經常使用的是INT、FLOAT、VARCHAR(M)、TEXT、DATE、DATETIME。 ③增長數據:

INSERT INTO 表名稱[(字段1,字段2,字段3,...,字段n)]VALUES (值1,值2,值3,...值n);

④刪除數據:

DELETE FROM 表名稱 [刪除條件];

⑤更新數據:

UPDATE 表名稱 SET 字段 1=值1,...,字段n=值1[WHERE 更新條件];

⑥查詢數據:

SELECT{*|column alias}
FROM 表名稱 別名
[WHERE condition(s)];  →設置查詢條件

JDBC操做步驟:

###總結: 沒接觸java以前,還對上學期的C語言心有餘悸,生怕難以適應。後來發現,竟然能接受了,真是慶幸。儘管我學到的都只是書本上的皮毛,並無本身去拓展知識面,這也是比較遺憾的(學渣語錄)。很感謝李津老師這學期的「嘔心瀝血」,讓我更對計算機科學充滿感嘆,原來計算機是這麼神奇的東西。 我不像別人的總結都把這學期學到的Java知識寫的很專業很全面,我只是很慢的,把本身聽到的先一點點消化。但願將來可期吧,不僅僅是學習方面,還有其餘理想。

相關文章
相關標籤/搜索