一、掌握封裝、繼承、多态、抽象等概念
1、封裝
封裝是指一種将抽象性函式接口的實作細節部分包裝、隐藏起來的方法。
封裝可以被認為是一個保護屏障,防止該類的代碼和資料被外部類定義的代碼随機通路。要通路該類的代碼和資料,必須通過嚴格的接口控制。
封裝最主要的功能在于我們能修改自己的實作代碼,而不用修改那些調用我們代碼的程式片段。适當的封裝可以讓程式碼更容易了解與維護,也加強了程式碼的安全性。
封裝的優點:
(1)良好的封裝能夠減少耦合。
(2)類内部的結構可以自由修改。
(3)可以對成員變量進行更精确的控制。
(4)隐藏資訊,實作細節。
2、繼承
繼承是java面向對象程式設計技術的一塊基石,因為它允許建立分等級層次的類。
繼承就是子類繼承父類的特征和行為,使得子類對象(執行個體)具有父類的執行個體域和方法,或子類從父類繼承方法,使得子類具有父類相同的行為。
3、多态
多态是同一個行為具有多個不同表現形式或形态的能力。
多态就是同一個接口,使用不同的執行個體而執行不同操作。
多态的優點:
(1)消除類型之間的耦合關系
(2)可替換性
(3)可擴充性
(4)接口性
(5)靈活性
(6)簡化性
多态存在的三個必要條件:
(1)繼承
(2) 重寫
(3)父類引用指向子類對象
4、抽象
在面向對象的概念中,所有的對象都是通過類來描繪的,但是反過來,并不是所有的類都是用來描繪對象的,如果一個類中沒有包含足夠的資訊來描繪一個具體的對象,這樣的類就是抽象類。抽象類除了不能執行個體化對象之外,類的其它功能依然存在,成員變量、成員方法和構造方法的通路方式和普通類一樣。由于抽象類不能執行個體化對象,是以抽象類必須被繼承,才能被使用。也是因為這個原因,通常在設計階段決定要不要設計抽象類。父類包含了子類集合的常見的方法,但是由于父類本身是抽象的,是以不能使用這些方法。
在Java中抽象類表示的是一種繼承關系,一個類隻能繼承一個抽象類,而一個類卻可以實作多個接口。
二、掌握重寫、重載及其差別
重寫:是指在派生類中重新對基類中的虛函數重新實作。即函數名和參數都一樣,隻是函數的實作體不一樣。
重載:重載是指不同的函數使用相同的函數名,但是函數的參數個數或類型不同。調用的時候根據函數的參數來差別不同的函數。
差別
1、類的關系差別
重寫是子類和父類之間的關系,是垂直關系;重載是同一個類中方法之間的關系,是水準關系。
2、産生方法差別
重寫隻能由一個方法或隻能由一對方法産生關系;重載是多個方法之間的關系。
3、參數清單要求差別
重寫要求參數清單相同;重載要求參數清單不同。
三、了解object類
Object類是Java中的一個特殊的類,它是所有類的父類。Java所有的類預設都是繼承Object類的。
四、掌握基本資料類型的拆箱與裝箱,了解自動裝箱概念
1、拆箱和裝箱的概念
裝箱:将基本資料類型的值轉為引用類型的值;
拆箱:将引用類型的值轉換為基本資料類型的值;
2、執行個體示範
public class Example19 {
public static void main(String[] args)
{
int a=20;
Integer in=new Integer(a);//裝箱
int sum=a+in.intValue();//拆箱
System.out.println(in.toString());//toString()可省略
System.out.println(sum);
}
}
3、JDK5.0新特性----自動拆箱和裝箱
1.導緻基本資料類型和引用資料類型可以混合運算
int a=20;
Integer x=a;//自動裝箱
Integer number=new Integer(18);
int y=number;//自動拆箱
int sum=x+y//混合運算
五、掌握強制轉換類型
強制轉換是通過強制轉換語句完成的,強制轉換語句的格式為“目标資料類型變量 = (目标資料類型) 資料;”。
基本類型 轉換原則:
類型轉換主要在在 指派、方法調用、算術運算 三種情況下發生。
1、指派和方法調用 轉換規則:從低位類型到高位類型自動轉換;從高位類型到低位類型需要強制類型轉換:
(1)布爾型和其它基本資料類型之間不能互相轉換;
(2)byte型可以轉換為short、int、、long、float和double;
(3)short可轉換為int、long、float和double;
(4)char可轉換為int、long、float和double;
(5)int可轉換為long、float和double;
(6)long可轉換為float和double;
(7)float可轉換為double;
算術運算 中的類型轉換:
1、基本就是先轉換為高位資料類型,再參加運算,結果也是最高位的資料類型;
2、byte short char運算會轉換為Int;
(1)如操作數之一為double,則另一個操作數先被轉化為double,再參與算術運算。
(2)如兩操作數均不為double,當操作數之一為float,則另一操作數先被轉換為float,再參與運算。
(3)如兩操作數均不為double或float,當操作數之一為long,、則另一操作數先被轉換為long,再參與算術運算。
(4)如兩操作數均不為double、float或long,則兩操作數先被轉換為int,再參與運算。特殊: 如采用+=、*=等縮略形式的運算符,系統會自動強制将運算結果轉換為目标變量的類型。當運算符為自動遞增運算符(++)或自動遞減運算符(–)時,如果操作數為byte,short或char類型不發生改變;