1. 程式人生 > >一些必須掌握的Java基礎知識點

一些必須掌握的Java基礎知識點

搜索 home 構建 kit 列表 classpath cto lean pri

技術分享圖片
我們先來了解一下Java基礎知識,以便於我們對Java的體系有個全面掌握和認知。

一、基礎知識

1.Java的三種技術架構

JAVAEE:Java Platform Enterprise Edition,開發企業環境下的應用程序,主要針對web程序開發;

JAVASE:Java Platform Standard Edition,完成桌面應用程序的開發,是其它兩者的基礎;

JAVAME:Java Platform Micro Edition,開發電子消費產品和嵌入式設備,如手機中的程序;

2.JVM、JRE和JDK的區別

JVM(Java Virtual Machine):java虛擬機,用於保證Java跨平臺的特性。

Java語言是跨平臺,jvm不是跨平臺的。

JRE(Java Runtime Environment):java的運行環境,包括 jvm+java的核心類庫。

JDK(Java Development Kit):java的開發工具,包括jre+開發工具

3.環境變量path和classpath的作用是什麽?

(1)path是配置Windows可執行文件的搜索路徑,即可擴展名為.exe的程序文件所在的目錄,用於指定DOS窗口命令的路徑。
(2)Classpath是配置class文件所在的目錄,用於指定數據類搜索路徑,JVM就是通過它來尋找該類的class類文件的。

環境變量的配置:

1):永久配置方式:JAVA_HOME=%安裝路徑%\Java\jdk

path=%JAVA_HOME%\bin

2):臨時配置方式:set path=%path%;C:\Program Files\Java\jdk\bin

特點:系統默認先去當前路徑下找要執行的程序,如果沒有,再去path中設置的路徑下找。

4.變量有什麽作用?
變量的作用:用來不斷的存放同一類型的常量,並可以重復使用

5.數據類型

(1)基本書籍類型(4類8種)
整數類型:byte、short、int、long
浮點類型:float、double
字符類型:char
布爾類型:boolean(ture false)

(2)引用數據類型

接口
數組

6.內存結構

棧內存:用於存儲局部變量,當數據使用完,所占空間會自動釋放。

堆內存:數組和對象,通過new建立的實例都存放在堆內存中。
方法區:靜態成員、構造函數、常量池、線程池
本地方法區:Window系統占用
寄存器:速度最快的存儲場所

7.數組

概念:同一種數據類型的集合。
好處:可以自動給數組中的元素從0開始編號,方便操作這些元素。

8.重載

概念:在同一個類中,允許存在一個以上的同名函數,只要它們的參數個數或者參數類型不同即可。
特點:與返回值類型無關,只看參數列表(參數類型以及參數個性)
優點:方便了閱讀,優化了程序設計。

9.& 和 &&區別

& :無論左邊結果是什麽,右邊都參與運算。

&&:短路與,如果左邊為false,那麽右邊不參數與運算。

| 和|| 區別:|:兩邊都運算。

||:短路或,如果左邊為true,那麽右邊不參與運算。
技術分享圖片

二:面向對象:

(1)概述:面向對象是相對於面向過程而言的,面向過程強調的是功能,面向對象強調的是將功能封裝進對象,強調具備功能的對象。

(2)思想特點:

A:是符合人們思考習慣的一種思想。

B:將復雜的事情簡單化了。

C:將程序員從執行者變為指揮者。

比如我想達到某種結果,我就尋找能幫我達到該結果的功能的對象,如我要洗衣服我就買洗衣機,至於怎麽洗我不管。

(3)特征:

封裝:隱藏對象的屬性和實現細節,僅對外提供公共訪問方式

繼承:多個文件中存在相同屬性和行為時,將這些內容抽取到單獨一個類中,那麽多個類無需再定義這些屬性行為,只要繼承那個類即可。

多態:一個對象在程序不同運行時刻代表的多種狀態,父類或者接口的引用指向之類對象

抽象:就是忽略一個主題中與之當前目標無關的那些方面,以便更充分地註意與當前目標有關的方面。抽象並不打算了解全部問題,而只是選擇其中的一部分,暫時不用部分細節。抽象包括兩個方面,一是過程抽象,二是數據抽象。

2.類和對象

類:對現實世界中某類事物的描述,是抽象的,概念上的含義。

對象:事情具體存在的個體。

3.匿名對象

(1)匿名對象就是沒有名字的對象。是對象的一種簡寫形式。

(2)應用場景

A:只調用一次類中的方法。

B:可以作為實際參數的方法傳遞使用。


4.關鍵字private:封裝在代碼中的體現

(1)私有意思,權限修飾符

(2)用來修飾成員變量和成員函數

(3)用private修飾的成員只在本類中有效

(4)私有是封裝的一種體現

5.構建函數

用於給對象進行初始化,是給與之對應的對象進行初始化,它具有針對性,函數中的一種。

特點:
1:該函數的名稱和所在類的名稱相同。
2:不需要定義返回值類型。
3:該函數沒有具體的返回值。
記住:所有對象創建時,都需要初始化才可以使用。

註意事項:一個類在定義時,如果沒有定義過構造函數,那麽該類中會自動生成一個空參數的構造函數,為了方便該類創建對象,完成初始化。如果在類中自定義了構造函數,那麽默認的構造函數就沒有了。

一個類中,可以有多個構造函數,因為它們的函數名稱都相同,所以只能通過參數列表來區分。所以,一個類中如果出現多個構造函數。它們的存在是以重載體現的。

6.this關鍵字

(1)this關鍵字代表本類對象的一個引用,誰調用this所在的地方,this就代表誰

(2)this的使用場景

A:用於區分同名成員變量和局部變量;

B:在定義函數時,該函數內部要調用該函數的對象時,因為此時對象還沒建立,故this代表此對象

C:構建函數間調用

**這個時候,this(參數)必須作為第一條語句存在。


7.static關鍵字

(1)靜態的意思,用來修飾成員變量和成員函數

(2)靜態的特點:

        隨著類的加載而加載

        優於對象存在

        對所有對象共享

         被可以被類名直接調用

 (3)靜態的主意事項

            A:靜態方法只能訪問靜態成員

            為什麽?因為靜態的內容是隨著類的加載而加載,它是先進內存的。

            B:靜態方法中不能使用this.super關鍵字

            C:主方法是靜態的

一些必須掌握的Java基礎知識點