計算機二級Java語言程序設計複習資料
Java是一個面向對象的語言。對程序員來説,這意味着要注意應中的數據和操縱數據的方法(method),而不是嚴格地用過程來思考。以下是關於計算機二級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() {//重寫了父類中的方法( 覆蓋時,子類方法權限一定要大於等於父類方法權限,靜態只能覆蓋靜態。)
-
2017年全國計算機一級考試題庫「附答案」
計算機網絡己在現代企業的管理中發揮着越來越重要的作用,如銀行系統、商業系統、交通運輸系統等。下面yjbys小編整理的關於全國計算機一級考試題庫,歡迎大家參考!一、選擇題1、計算機病毒是指___C_。A、帶細菌的磁盤B、已損壞的磁盤C、具有破壞性的特製程序D、被...
-
2017年下半年計算機二級Access操作試題
軟件開發人員和數據架構師可以使用MicrosoftAccess開發應用軟件,高級用户可以使用它來構建軟件應用程序。下面是小編收集的關於計算機二級Access操作試題,希望大家認真閲讀!基本操作:在考生文件夾下,數據庫文件中已建立表對象tEmployee。試按以下操作要求,完成表的...
-
大學計算機基礎介紹
《大學計算機基礎》是一門本科公共基礎必修課程,將從三個方面培養學生的計算機基礎能力:理解計算機系統、使用計算機和計算思維。下面是小編整理的關於大學計算機基礎介紹,歡迎大家參考!【1】大學計算機基礎介紹《大學計算機基礎》課程內容現在的確有些落伍,需要進...
-
2017年廣西全國計算機應用能力考試報名時間
隨着微處理機的'迅速發展,計算機廣泛應用於工業、農業、文化教育、衞生保健、服務行業、社會公用事業等。yjbys小編整理的關於全國計算機應用能力考試報名時間,歡迎大家參考!點擊查看<<<廣西全國計算機應用能力考試報名時間根據全區職改工作部署安排,區直考點專...