1. 程式人生 > >java日常總結基礎

java日常總結基礎

java程式執行過程:

 

① javac編譯 把java檔案編譯成class檔案

 

②java執行 :執行class檔案

 

JDK JVM  和 JRE關係?

 

①  JDK包含JRE,JRE包含JVM.

 

② JDK是java開發工具包  JRE是java執行環境  JVM是java虛擬機器,是java實現跨平臺最核心的功能

 

變數 

 

區域性變數 :在方法內,生命週期和方法共存亡   -->使用之前需要手動初始化

 

例項變數(成員變數) 在類中 方法外生命週期和這個物件共存亡   -->系統自動初始化

 

靜態變數: 再類中 用static修飾的變數 從屬於類   -->系統自動初始化

 

 

物件和類的區別?

 

物件是具體的,類是抽象的,類是一個模板,可以幫助我們new物件

 

 

構造器?

 

① 構造器的名稱要和當前類名保持一致

 

② 構造器沒有返回值

 

③通過new來建立構造器

 

關於無參構造器的問題

 

①如果當前類沒有建立構造器,則系統會自動建立一個構造器

 

②如果當前類建立一個構造器,那麼系統就不會在建立構造器

 

③構造器的第一句總是super

 

 

識別符號 

 

① 用字母(unicode字符集) ,下劃線,$開頭

 

② 不能是關鍵字

 

③ 其他部分可以是數字 ,字母,下劃線

 

 

面向物件的三大特徵

 

封裝

通過private protected   default   public 來實現方法的封裝

 

繼承

通過extends來實現繼承有倆個好處①程式碼重用性 ② 通過繼承對現實世界更好的建模

 

多型

三個必要的條件  通過方法的重寫 , 繼承 ,父類的引用指向子類

 

 

抽象類

 

① 包含抽象方法的類一定是抽象類  -->抽象方法   子類通過繼承抽象類 中子類必須實現抽象方法

 

② 抽象類可以有變數 , 方法 , 構造器 .

 

③ 抽象類不能被new

 

 

 

java記憶體機制

 

 

棧  用於存放區域性變數,不能被執行緒共享,儲存的空間連續,速度快

 

 

堆 : 用於存放new出來的物件,可以被多個執行緒共享,儲存的空間不連續,比較靈活

 

 

方法區 : 用於存放類物件的靜態變數,程式碼,字串常量等

                可以被多個執行緒共享,儲存的空間不連續,比較靈活

 

 

 

 

面向物件像一個高層的角色,面向過程 相當於下面的工人一樣,面向物件的底層處理是按面向過程來進行處理的,二者缺一不可.

 

面向物件程式設計(OOP)的本質是以類的放式組織程式碼,以物件的方法,以物件的放式組織資料

 

物件 : 是具體的事物

 

類:是物件的抽象 抽象 abstract 是把物件的共同點取出來

 

面向物件思維  : OOA OOD 是先有類然後有物件 ,例如  根本都沒見過車  怎麼建立car這個物件

 

物件和類的關係 : 特殊到一般,具體到抽象

 

java 語言中除基本型別之外的變數型別都稱之為引用型別 (referce)

 

java中方法的傳遞都是 值傳遞

 

 

java常量池 存放的是字串常量,例如你的java類中所有用""引出來的字串都存放在常量池中