糯米文學吧

位置:首頁 > IT認證 > 計算機等級

計算機二級Java語言程序設計複習資料

Java是一個面向對象的語言。對程序員來説,這意味着要注意應中的數據和操縱數據的方法(method),而不是嚴格地用過程來思考。以下是關於計算機二級Java語言程序設計複習資料,希望大家認真閲讀!

計算機二級Java語言程序設計複習資料

  Java面向對象

面向對象是一種程序設計方法,或者是程序設計規範,其基本思想是使用對象、類、繼承、封裝、多態等基本概念來進行程序設計。 面向對象是一種符合人們思考習慣的思想,可以將複雜的事情簡單化,將程序員從執行者轉換成了指揮者

完成需求時:

• 先要去找具有所需的功能的對象來用。

• 如果該對象不存在,那麼創建一個具有所需功能的對象。

• 這樣簡化開發並提高代碼的複用。

面向對象的開發過程其實就是不斷的創建對象,使用對象,指揮對象做事情。設計的過程其實就是在管理和維護對象之間的關係。

面向對象的特徵:

• 封裝(encapsulation)

• 繼承(inheritance)

• 多態(polymorphism)

  1.封裝

概念:是指隱藏對象的屬性和實現細節,僅對外提供公共訪問方式。

好處:• 將變化隔離。• 便於使用。• 提高重用性。• 提高安全性。

  封裝原則:

• 將不需要對外提供的內容都隱藏起來。

• 把屬性都隱藏,提供公共方法對其訪問。

Java中可以通過對類的成員設置一定的訪問權限,實現類中成員的信息隱藏。

private:類中限定為private的成員,只能被這個類本身訪問。如果一個類的構造方法聲明為private,則其它類不能生成該類的一個實例。

default:類中不加任何訪問權限限定的成員屬於缺省的(default)訪問狀態,可以被這個類本身和同一個包中的類所訪問。

protected:類中限定為protected的成員,可以被這個類本身、它的子類(包括同一個包中以及不同包中的子類)和同一個包中的所有其他的類訪問。

public:類中限定為public的成員,可以被所有的類訪問。

如下面的這個student類,就是使用了封裝,將類中的屬性name 、age和score私有化,使外部不能直接訪問他們,只能通過public類型的對他們方法進行操作。

class Student {

private String name;//聲明屬性 ,並設為私有類型,起到封裝的作用

private int age;

private int score;

public Student(String name,int age ,int score) { //構造函數,分別給name、age、score賦值

= name;// :this代本類對象的引用

= age;

e= score;

}

public String getName() { //設置getter方法,因為變量設為了私有,對象無法訪問類中的屬性,需要用getter方法獲取變量

return name;

}

public void setName(String name) { //設置setter方法,因為變量設為了私有,對象無法訪問類中的屬性,需要用setter方法給變量賦值

= name;

}

public int getAge() {

return age;

}

public void setAge(int age) {

= age;

}

public int getScorre() {

return score;

}

public void setScorre(int score) {

e = score;

}

}

  2.繼承

繼承是一種聯結類的層次模型,並且允許和鼓勵類的重用,它提供了一種明確表述共性的方法。對象的一個新類可以從現有的類中派生,這個過程稱為類繼承。

新類繼承了原始類的特性,新類稱為原始類的派生類(子類),而原始類稱為新類的基類(父類)。派生類可以從它的基類那裏繼承方法和實例變量,並且類可以修改或增加新的方法使之更適合特殊的.需要。

子類可以直接訪問父類中的非私有的屬性和行為。通過 extends 關鍵字讓類與類之間產生繼承關係。如下:class SubDemo extends Demo{}

繼承提高了代碼的複用性。

繼承的出現讓類與類之間產生了關係,提供了多態的前提

  繼承的特點:

Java只支持單繼承,不支持多繼承。

• 一個類只能有一個父類,不可以有多個父類。

• class SubDemo extends Demo{} //這是對的

• class SubDemo extends Demo1,Demo2...//這是錯的

Java支持多層繼承(繼承體系)

• class A{}

• class B extends A{}

• class C extends B{}

定義繼承需要注意:

• 不要僅為了獲取其他類中某個功能而去繼承

• 類與類之間要有所屬關係,xx1是xx2的一種。

如:

class Ren { //父類

int age=20;

String name="wk";

public void show() {

tln("姓名:"+name+" 年齡:"+age);

}

}

class Sudents extends Ren {//子類Sudents繼承了父類Ren

int score=90;//增加了新的屬性

int age= +1;//使用super標記父類中的元素,修改了Ren中age的值

public void show() {//重寫了父類中的方法( 覆蓋時,子類方法權限一定要大於等於父類方法權限,靜態只能覆蓋靜態。)