(一)Java入門--面向對象和類的概念


JAVA語言三大技術框架

JAVAEE(企業版)、JAVASE(標準版)、JAVAME(小型版)

JRE、JDK

利用JDK進行程序開發,交給JRE去執行。

JVM

因爲JAVA虛擬機的存在,JAVA具有跨平臺的特性。

函數

1、函數的重載(overload):在同一個類中,允許存在一個以上的同名函數,只要參數個數或者參數類型不同即可。
2、函數的覆蓋(override):又叫重寫,當子父類中出現成員函數一模一樣的時候,會運行子類的函數。注意:子類權限必須大於等於父類權限才能覆蓋;靜態只能被靜態覆蓋。

內存結構

1、棧內存:存儲的局部變量,變量作用域一旦結束,空間自動釋放。構造函數也會進棧。
2、堆內存:數組和對象;每一個實體都有內存地址值;實體中的變量都有默認初始化值;實體不在被使用,會在不確定的時間內被垃圾回收器回收。
3、方法區、本地方法區、寄存器

面向對象的特徵

封裝、繼承、多態

類的概念

一、類包括屬性和行爲
1、屬性就是成員變量(實例的變量),在整個類中可以被使用。
2、行爲就是成員函數(實例的方法),代表這個類的可以進行哪些操作。
比如說:類就是人的統稱,人的膚色和行爲,就是類的屬性和函數。用類建立的一個對象(實例),這個對象就是一個具體的人,比如黃皮膚、會彈鋼琴的人,並且可以修改這個對象的屬性,使用這個對象的行爲。(讓人變膚色,還讓他去彈琴,可怕啊)。
二、成員變量和局部變量的區別
1、成員變量:成員變量定義在類中,整個類中都可以被訪問;成員變量隨着對象的建立而建立,存在於對象所在的堆內存在;成員變量有默認初始化值。
2、局部變量:只定義在局部範圍內,如:函數內,語句內等;存在於棧內存中;作用的範圍結束,變量空間會自動釋放;沒有默認初始化值;

構造函數

在一個類中,函數名與類名相同,多個構造函數以重載的方法存在(如果沒有帶參數的構造函數,則默認爲參數爲空的構造函數),作用是用來給對象初始化。對象一出現,就會帶有構造函數的特點。
構造函數和一般函數區別:
(1)構造函數:在對象創建時,就調用了構造函數,對對象進行初始化;只會調用一次。
(2)一般函數:對象在建立之後,在需要的情況下,調用一般函數。可以調用多次。

private(私有)關鍵字

用於修飾成員,被修飾的成員只能在本類中有效,對外只提供set/get等方法對其訪問,提高數據安全性。

static(靜態)關鍵字

1、靜態變量:內存分配一次,對象共享變量。
2、靜態方法:是類的一種,不是對象,可以直接通過類名進行調用,不需要創建對象。
3、靜態代碼塊:放在main函數之間執行(不過好像沒必要,那一段代碼也可以寫在main的最開頭啊。)
4、靜態內部類:外部類就不要建立對象,直接用靜態內部類來建立對象,並可以調用靜態內部類的方法。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章