天天看點

初學Java(3)

一、掌握封裝、繼承、多态、抽象等概念

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類型不發生改變;