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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

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

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

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

4、constructOverload(int x) =x; (帶一個參數(shù)的構造函數(shù)); 第12頁/共60頁繼承是面向?qū)ο缶幊碳夹g的一塊基石,它允許創(chuàng)建分等級層次的類。運用繼承,可以創(chuàng)建一個通用類定義一系列一般特性。該類可以被更具體的類繼承Emoloyee類: name sexWorker類: category dressAllowanceOfficer類: empClass vehicle職員類,具有姓名和性別兩個屬性工人類,繼承了父類的姓名和性別屬性外還包含類別和是否有服裝津貼屬性主任類,還包含級別和是否配備交通工具屬性第13頁/共60頁注意第14頁/共60頁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頁/共60頁訪問控制訪問控制private成員成員缺省的成員缺省的成員protected成員成員public成員成員同一類中成員同一類中成員 同一包中其他類同一包中其他類 不同包中子類不同包中子類 不同包中非子類不同包中非子類

7、第16頁/共60頁第17頁/共60頁第18頁/共60頁第19頁/共60頁protected成員來實成員來實現(xiàn)?,F(xiàn)。第20頁/共60頁protected 修飾該成員。第21頁/共60頁第22頁/共60頁第23頁/共60頁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頁/共60頁第25頁/共60頁public class O

8、verrideDemo public static void main(String args) SuperClass s1 = new SubClass(10); s1.printA(); 將調(diào)用子類的printA方法第26頁/共60頁第27頁/共60頁第28頁/共60頁第29頁/共60頁第30頁/共60頁第31頁/共60頁用static修飾符修飾,可以是變量、方法或代碼塊第32頁/共60頁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; 通過類實例訪問不是一個好方法StaticDemo d1 = new StaticDemo();StaticDemo d2 = new StaticDemo(); StaticDemo.x = 100; = 200;testVariable = ; 聲明為static的變量實質(zhì)上就是全局變量通過類名訪問第33頁/共60頁class StaticFun static int i = 10; int j; static void setValue(int x) j=x;/出錯 Syst

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

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

12、使用第39頁/共60頁或方法主體時。或方法主體時。第40頁/共60頁抽象方法沒有方法主體在子類中提供實現(xiàn)在子類中提供實現(xiàn)第41頁/共60頁第42頁/共60頁 定義一個接口:第43頁/共60頁第44頁/共60頁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頁/共60頁第46頁/共60頁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關鍵字 this 與對象關聯(lián)v它用于指示當前對象指明此對象的變量 x 應賦值為通過構造函數(shù)傳遞的自變量 x 的值。 第47頁/共60頁第48頁/共60頁第49頁/共60頁第50頁/共60頁第51頁/共60頁第52頁/共60頁第53頁/共60頁Integer one = new Integer(1);Integer anothe

溫馨提示

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

評論

0/150

提交評論