CHJava核心思想面向?qū)ο驪PT學(xué)習(xí)教案_第1頁(yè)
CHJava核心思想面向?qū)ο驪PT學(xué)習(xí)教案_第2頁(yè)
CHJava核心思想面向?qū)ο驪PT學(xué)習(xí)教案_第3頁(yè)
CHJava核心思想面向?qū)ο驪PT學(xué)習(xí)教案_第4頁(yè)
CHJava核心思想面向?qū)ο驪PT學(xué)習(xí)教案_第5頁(yè)
已閱讀5頁(yè),還剩55頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、會(huì)計(jì)學(xué)1CHJava核心思想面向?qū)ο蠛诵乃枷朊嫦驅(qū)ο蟮?頁(yè)/共60頁(yè)第2頁(yè)/共60頁(yè)第3頁(yè)/共60頁(yè)第4頁(yè)/共60頁(yè)第5頁(yè)/共60頁(yè)類對(duì)象抽象實(shí)例化屬性或狀態(tài)操作或行為數(shù)據(jù)或變量方法封裝的實(shí)體=數(shù)據(jù)+方法第6頁(yè)/共60頁(yè)在類中,屬性是通過(guò)成員變量體現(xiàn)的,而操作是用成員函數(shù)(又稱為方法)實(shí)現(xiàn)的。Java中定義類的通用格式:成員變量(對(duì)象屬性)成員方法(對(duì)象行為或操作)第7頁(yè)/共60頁(yè)發(fā)往某個(gè)對(duì)象的消息對(duì)應(yīng)于一個(gè)方法調(diào)用。作為對(duì)消息的響應(yīng),對(duì)象將執(zhí)行一個(gè)類似于過(guò)程體的方法。方法是包含在類中的函數(shù)。方法名稱返回類型修飾符,可選參數(shù)列表,可選 舉例:public void setdate(int da

2、y, int month, int year) day=23; month=7; year=2003;第8頁(yè)/共60頁(yè)當(dāng)對(duì)象作為函數(shù)參數(shù)時(shí),在函數(shù)中只能改變?cè)搶?duì)象的狀態(tài),但不能改變?cè)搶?duì)象的引用void swapobj(Day x,Day y) Day temp=y; y=x; x=temp; 引用本身按值傳遞Day2002,5,30Day2003,7,23obj1obj2xy調(diào)用swapobj(obj1,obj2)改變對(duì)象狀態(tài)xy第9頁(yè)/共60頁(yè)class Fruit boolean seedLess; boolean seasonal; float price; Fruit(boolean

3、seed, boolean season, float p) seedLess = seed; seasonal = season; price = p; 第10頁(yè)/共60頁(yè)當(dāng)創(chuàng)建一個(gè)類時(shí),只是創(chuàng)建了一種新的數(shù)據(jù)類型。對(duì)象是類的一個(gè)實(shí)例。class FruitDemo public static void main(String args) Fruit f = new Fruit(true,false,50.0F); 創(chuàng)建對(duì)象第11頁(yè)/共60頁(yè)public class constructOverload int x; constructOverload() x=0; (不帶參數(shù)的構(gòu)造函數(shù));

4、constructOverload(int x) =x; (帶一個(gè)參數(shù)的構(gòu)造函數(shù)); 第12頁(yè)/共60頁(yè)繼承是面向?qū)ο缶幊碳夹g(shù)的一塊基石,它允許創(chuàng)建分等級(jí)層次的類。運(yùn)用繼承,可以創(chuàng)建一個(gè)通用類定義一系列一般特性。該類可以被更具體的類繼承Emoloyee類: name sexWorker類: category dressAllowanceOfficer類: empClass vehicle職員類,具有姓名和性別兩個(gè)屬性工人類,繼承了父類的姓名和性別屬性外還包含類別和是否有服裝津貼屬性主任類,還包含級(jí)別和是否配備交通工具屬性第13頁(yè)/共60頁(yè)注意第14頁(yè)/共60頁(yè)class Worker exte

5、nds Employee char category;/類別 boolean dressAllowance; /是否提供服裝津貼 Worker(String n,char s,char c,boolean d) super(n,s); category = c; dressAllowance = d; public char getCategory()return category; public boolean getAll() return dressAllowance; class InheDemo public static void main(String args) Worker

6、w = new Worker(M.John,M,B,true); (工人信息); (姓名 : +(); (性別 : +(); System.out.println(類別 : +w.getCategory(); if(w.getAll() System.out.println(提供服裝津貼); else System.out.println(“未提供服裝津貼”); 第15頁(yè)/共60頁(yè)訪問(wèn)控制訪問(wèn)控制private成員成員缺省的成員缺省的成員protected成員成員public成員成員同一類中成員同一類中成員 同一包中其他類同一包中其他類 不同包中子類不同包中子類 不同包中非子類不同包中非子類

7、第16頁(yè)/共60頁(yè)第17頁(yè)/共60頁(yè)第18頁(yè)/共60頁(yè)第19頁(yè)/共60頁(yè)protected成員來(lái)實(shí)成員來(lái)實(shí)現(xiàn)?,F(xiàn)。第20頁(yè)/共60頁(yè)protected 修飾該成員。第21頁(yè)/共60頁(yè)第22頁(yè)/共60頁(yè)第23頁(yè)/共60頁(yè)class CalculationDemo p u b l i c s t a t i c v o i d main(String args) Calculation c = new Calculation();c.add(10,20);c.add(40.0F, 35.65F); (早上, 好); 編譯器決定調(diào)用版本第24頁(yè)/共60頁(yè)第25頁(yè)/共60頁(yè)public class O

8、verrideDemo public static void main(String args) SuperClass s1 = new SubClass(10); s1.printA(); 將調(diào)用子類的printA方法第26頁(yè)/共60頁(yè)第27頁(yè)/共60頁(yè)第28頁(yè)/共60頁(yè)第29頁(yè)/共60頁(yè)第30頁(yè)/共60頁(yè)第31頁(yè)/共60頁(yè)用static修飾符修飾,可以是變量、方法或代碼塊第32頁(yè)/共60頁(yè)class StaticDemo static int x = 0; StaticDemo()x+;StaticDemo d1 = new StaticDemo();StaticDemo d2 = new

9、 StaticDemo();d1.x = 100 ;d2.x = 200;testVariable = d1.x; 通過(guò)類實(shí)例訪問(wèn)不是一個(gè)好方法StaticDemo d1 = new StaticDemo();StaticDemo d2 = new StaticDemo(); StaticDemo.x = 100; = 200;testVariable = ; 聲明為static的變量實(shí)質(zhì)上就是全局變量通過(guò)類名訪問(wèn)第33頁(yè)/共60頁(yè)class StaticFun static int i = 10; int j; static void setValue(int x) j=x;/出錯(cuò) Syst

10、em.out.println( + i); 不能訪問(wèn)非靜態(tài)變量j,可以訪問(wèn)靜態(tài)變量iclass StaticTest static void test() class Staticex extends StaticTest void test() /出錯(cuò) 第34頁(yè)/共60頁(yè)class TryInitialization static int values = new int10; /靜態(tài)數(shù)組成員 static for(int i=0; i; i+) valuesi = (int)(100.0*(); 第35頁(yè)/共60頁(yè)final class TestFinal int i = 7; int j

11、 = 1; void f() class Further extends TestFinal final類不能被繼承第36頁(yè)/共60頁(yè)class TestFinal final void f() class Further extends TestFinal final void f() final方法不能被覆蓋第37頁(yè)/共60頁(yè)class FinalDemo public static void main(String args) final int noChange = 20; noChange = 30; final變量不能被修改第38頁(yè)/共60頁(yè)abstract 修飾符可與類和方法一起

12、使用第39頁(yè)/共60頁(yè)或方法主體時(shí)。或方法主體時(shí)。第40頁(yè)/共60頁(yè)抽象方法沒(méi)有方法主體在子類中提供實(shí)現(xiàn)在子類中提供實(shí)現(xiàn)第41頁(yè)/共60頁(yè)第42頁(yè)/共60頁(yè) 定義一個(gè)接口:第43頁(yè)/共60頁(yè)第44頁(yè)/共60頁(yè)class InterfaceTest public static void main(String args ) B b=new B( ); ( ); class B implements A public void show( ) System.out.println(“g=“+g); 第45頁(yè)/共60頁(yè)第46頁(yè)/共60頁(yè)public class PassTest int x; Pas

13、sTest(int x) =x; public void passingValue() System.out.println(“x 等于 +x); public static void main(String args) PassTest test = new PassTest(10); (); v關(guān)鍵字 this 與對(duì)象關(guān)聯(lián)v它用于指示當(dāng)前對(duì)象指明此對(duì)象的變量 x 應(yīng)賦值為通過(guò)構(gòu)造函數(shù)傳遞的自變量 x 的值。 第47頁(yè)/共60頁(yè)第48頁(yè)/共60頁(yè)第49頁(yè)/共60頁(yè)第50頁(yè)/共60頁(yè)第51頁(yè)/共60頁(yè)第52頁(yè)/共60頁(yè)第53頁(yè)/共60頁(yè)Integer one = new Integer(1);Integer anothe

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論