本文章主要是知識點,后續會出模擬卷
以下是選擇、填空可能考的知識點,多看幾遍,混個眼熟
- 面向對象程序設計的基本特征是:抽象、封裝、繼承、多態(后三個是三大特性)
- Java源文件的擴綴名是.java
- 編譯Java Application 源程序文件將產生相應的字節碼文件,這些字節碼文件的擴展名為.class
- HelloWorld.java 編譯成功后會生成一個HelloWorld.class文件
- 開發與運行java程序需要經過的三個主要步驟為:編譯源程序、編譯生成字節碼文件、解釋運行字節碼
- 在Java語言中,體現多態性有兩個方面:overloading(重載)和overriding(重寫、覆蓋)
- package語句要放在文件開頭,且必須放在import語句之前
- Java源程序的文件名必須必須與public類的類名相同
- Java源文件中可以多個類,至多一個類可以使public類
- 類是Java中基本的結構單位
- Java應用程序有若干個類所構成,它們可以分布在一個或多個源文件中,其中必須有1個源文件含有主類
- Java應用程序總是從主類的main方法開始執行
- Java源文件如果含有主類,主類可以是public類、默認(不寫public 為default)類
- String類在java.lang包中
- Java的字符類型采用的是Unicode編碼
- Java的各類數據所占用的長度與具體的軟硬件平臺環境無關(也就是說不管是32位系統還是64為系統,int都是4字節、double都是8字節,注意區分和C語言的不同)
- 在Java的基本數據類型中,char型采用Unicode編碼方案,每個編碼占用2個字節內存空間。無論是中文字符還是英文字符,都是占用2字節內存空間
- 在Java的方法中,定義一個常量必須用關鍵字final
- 基本數據類型包括:布爾型、整數型、浮點型、字符型
- 浮點型數據根據存儲長度的精度的不同,降一補劃分為double和float兩種具體的類型,double精度高一些,為默認類型
- 字符串分為兩類,一類是字符串常量,使用String類的對象來表示;另一類字符串是字符串變量,使用StringBuffer類的對象表示
- StringBuffer對象的字符序列可以修改,String對象的字符序列不可以修改
- Java語言的標識符是區分大小寫的
- 在Java中,\是轉義字符,\n表示回車,\t表示tab鍵(制表鍵),\\表示\字符本身
- Java程序中的的單行注釋符是//,多行注釋符是/**/
- 即使條件不滿足,do-while循環體中的語句也至少執行一次
- for循環、while循環、do-while循環可以互相嵌套,都可以產生死循環,循環體里都可以為空
- 方法中可以包含任意個return語句,return語句可以返回任何數據類型
- 同一方法不可以同時使用static和abstract修飾
- 方法的修飾如果有public、abstract,必須放在方法的類型的前面
- abstract方法是一種僅有方法頭,沒有方法體的方法;這種方法只能存在于abstract類和接口中
- 在面向對象方法中,類的實例化稱為對象
- 類聲明class A 等價于class A extends java.lang.Object
- 在Java中定義抽象類則需要加關鍵字abstract來修飾
- abstract和final不可以同時修飾系統一個類
- abstract類中可以有abstract方法,可以有非abstract方法
- interface中只可以有abstract方法,不可以有非abstract方法
- 類的實例方法不可以用;類名直接調用,類中的靜態方法可以用類名直接調用
- 同一個類的對象使用不同的內存段
- 靜態成員使用相同的內存空間
- 成員變量有默認值,局部變量沒有默認值(所以局部變量在使用的時候一定要初始化,否則會報錯)
- 成員變量的值可以和局部變量的名字相同
- 類成員的權限修飾1符的訪問權限大小關系是public>protected>private
- 方法的參數的名字不可以和方法中聲明的局部變量的名字相同
- 定義私有的成員方法或者成員變量時,不必在類的開頭部分集中定義,利用關鍵字private定義
- 被私有訪問控制符private修飾的成員變量,只能被該類自身所訪問和修改,不能被與它在同一個包中的其他類、在其他包中的該類的子類所訪問和修改
- String類是final類
- final類可以有0個子類,非final類可以有多個子類
- 除了java.lang.Object類,任何類有且只有一個父類
- 在Java中,任何類的根類/父類/超類是java.lang.Object
- 子類和父類可以不在一個包中
- 在Java中,關鍵字final使類不能派生出子類
- 子類可以聲明和父類的成員變量同名的成員變量
- 子類聲明的成員變量的名字和父類繼承來的成員變量名字相同,子類就會隱藏所繼承的成員變量
- 一個類中可以有多個構造方法
- 構造方法不可以用final、static修飾
- 構造方法是類的一種特殊方法,它的主要作用是完成對類的對象的初始化工作,它的方法名必須與類名相同
- 一般在創建類的對象的時候,系統會自動調用構造方法,自動調用是通過關鍵字new實現的
- 創建類的對象的時候,使用運算符new給對象分配內存空間
- Java語言對構造方法的返回類型的規定是:沒有返回類型
- Java語言規定構造方法可以重載
- 即使一個類中未顯示定義構造方法,也會有一個默認的構造方法,默認的構造方法的參數情況是:無參,函數體的情況是:函數體為空
- 子類不繼承父類的構造方法
- 子類構造方法中可以有多條super調用父類的某個構造方法的語句
- 如果在子類的構造方法中,沒有顯示地寫出super關鍵字來調用父類的構造方法,那么編譯器就默認地有super();調用父類的無參數的構造方法
- 如果在子類的構造方法中,顯示地寫出了super關鍵字來調用父類的某個構造方法,那么編譯器就不在提供默認的super語句
- super關鍵字形成的語句必須是子類構造方法中的第一條語句
- 子類中想使用被子類隱藏的實例成員方法或實例成員變量就需要使用關鍵字super
- 重載方法是指,一個類中定義兩個方法,方法名相同,參數不同,返回值不做要求
- 重寫方法是指,子類中有與父類相同的方法,方法名相同,參數相同,返回值相同
- this不可以出現在static方法中,可以出現在實例方法和構造方法中
- 子類可以定義和父類的方法同名的方法
- 子類在方法重寫時,不可以把父類的類方法(靜態方法)重寫為實例方法
- 子類在方法重寫時,方法的訪問權限不可以降低,但是可以提高
- 接口可以用public修飾,不可以用private或protected修飾
- 接口中只可以有常量,不可以有變量
- 接口中只可以有abstract方法,不可以有非abstract方法
- 接口中的常量必須指定初值
- 接口中的常量可以用接口名直接訪問
- 除了final屬性,接口中定義的常量還具有public、static屬性
- 接口中的方法訪問權限一定是public
- 接口中的方法不可以用private或protected或final修飾
- 接口中的void f();方法聲明等價于public abstract void f();
- 接口中的常量可以存放實現該接口的類的實例的引用
- abstract類可以實現接口、final類可以實現接口
- 類使用關鍵字implements實現接口
- 定義一個類繼承父類的關鍵字是extends,定義一個接口繼承接口的關鍵字是extends
- 一個類可以繼承一個類,一個類可以實現多個接口,一個接口可以繼承多個接口
- 一個類可以同時繼承一個類和實現一個接口
- 一個類不可以重復實現同一個接口
- 類和它所實現的接口不一定在同一個包里
- 一個類聲明實現一個接口,但是沒有重寫接口中的所有方法,那么這個類一定是抽象類
- 抽象類可以重寫接口中的方法,也可以繼承接口中的方法
- 如果一個非抽象類實現某個接口,該類必須重寫接口中的全部abstract方法
- 子接口將繼承父接口的全部方法和全部變量
- Integer.parseInt(" "),雙引號內不是整數時會觸發NumberFormatException異常
- FileNotFoundException類是IOException類的子類
- Throwable類有兩個重要的子類:Exception(異常)和Error(錯誤)
- 所有異常的父類都是Throwable類
- 捕捉異常通過try-catch-finally語句實現
- try-catch語句可以由多個catch組成
- 在編譯異常處理的Java程序中,每個catch語句塊都應該與try語句塊對應
- 在異常處理中,將可能產生異常的語句放在try塊中,用catch語句去處理異常
- 如果想在方法頭拋出異常,那么需要關鍵字throws;如果想在方法體內拋出異常,那么需要關鍵字throw
- FileReader輸入流按字符(char)讀取文件的內容,FileWriter輸出流按字符(char)寫出數據
- FileOutputStream輸出流按字節(byte)寫出數據
- 程序如果需要讀取程序“外部”的數據,可以創建指向外部的輸入流
- 程序如果需要將程序中的數據寫入到程序“外部”,可以創建指向外部的輸出流
- 如果程序要讀取一個文件,可以創建指向文件的FileInputStream流、FileReader流
- 如果程序要寫入一個文件,可以創建指向文件的FileOutputStream流、FileWriter流
- import.java.sql.*命令可以使我們再程序中創建數據庫相關的對象
- import.java.io.*命令可以使我們再程序中創建輸入輸出流相關的對象
- import.java.net.*命令可以使我們再程序中創建網絡相關的對象
- 線程狀態可以分為五大狀態:新建、就緒、運行、阻塞、死亡
- 多線程系統中,多個線程之間有同步和互斥兩種關系